循环附加练习2

1、用公式求的π近似值,直到发现某一项的绝对值小于为止(该项不累加)。

主要代码:

            double pi = 0, n = 1, term = 1;
            int sign = 1;
            for (; Math.Abs(term) > 1e-6; )
            {
                pi += term;
                n += 2;
                sign = -sign;
                term = sign / n;
            }
            pi *= 4;
            Console.WriteLine(pi);
            Console.ReadLine();
            int f1 = 1, f2 = 1;
            for (int i = 1; i <= 20; i++)
            {
                Console.WriteLine("{0}{1}", f1, f2);
                if (i % 2 == 0)
                    Console.WriteLine();
                f1 += f2;
                f2 += f1;
            }
            Console.ReadLine();

结果:

2、求

主要代码:

            long n = 1;
            decimal s = 0;
            for (int i = 1; i <= 20; i++)
            {
                n *= i;
                s += n;
            }
            Console.WriteLine(s);
            Console.ReadLine();

结果:

3、求

主要代码:

            double s1 = 0;
            double s2 = 0;
            double s3 = 0;
            for (int i = 1; i <= 100; i++)
                s1 += i;
            for (int j = 1; j <= 50; j++)
                s2 += j * j;
            for (int k = 1; k <= 10; k++)
                s3 += 1 / (k * 1.0);
            Console.WriteLine(s1 + s2 + s3);
            Console.ReadLine();

结果:

4、输出所有的“水仙花数”,即一个3位数,其各位数字的立方和等于该数本身。

主要代码:

            for (int i = 1; i <= 9; i++)
            {
                for (int j = 0; j <= 9; j++)
                {
                    for (int k = 0; k <= 9; k++)
                    {
                        if (i * i * i + j * j * j + k * k * k == i * 100 + j * 10 + k)
                            Console.WriteLine(i * 100 + j * 10 + k);
                    }
                }
            }
            Console.ReadLine();

结果:

5、一个数如果恰好等于它的因子之和,这个数就称为“完数”。找出1000以内的所有完数,并按xxx,its factors are xx xx xx格式输出。

主要代码:

            //寻找完数
            for (int m = 2; m < 1000; m++)
            {
                int s = 0;
                //寻找因子
                for (int i = 1; i < m; i++)
                {
                    if (m % i == 0)
                        s += i;
                }
                //判断是否满足完数要求
                if (s == m)
                {
                    Console.Write("{0},its factors are", m);
                    //输出完数的因子
                    for (int i = 1; i < m; i++)
                    {
                        if (m % i == 0)
                            //Console.Write(""+i + "");
                            Console.Write(" {0} ", i);
                    }
                    Console.WriteLine();
                }
            }
            Console.ReadLine();

结果:

6、有一个分数序列: 求出这个数列的前20项和。

主要代码:

            double s = 0;
            double m = 2;
            double n = 1;
            double t = 0;
            for (int i = 0; i < 20; i++)
            {
                s += m / n;
                t = m;
                m += n;
                n = t;
            }
            Console.WriteLine("s={0}", s);
            Console.ReadLine();

结果:

7、一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少m,第10次反弹多高。

主要代码:

            double s = 0;
            double h = 100;
            for (int i = 0; i < 10; i++)
            {
                s += 2 * h;
                h /= 2;
            }
            s -= 100;
            Console.WriteLine("在第10次落地时,共经过{0}米,第10次反弹{1}米高。", s, h);
            Console.ReadLine();

结果:

原文地址:https://www.cnblogs.com/bosamvs/p/5459499.html