144-练习12和13 循环练习

12,一个控制台应用程序,要求完成下列功能。
1)接收一个整数n。
2)如果接收的值n为正数,输出1~n间的全部整数。
3)如果接收的值n为负值,用break或者return退出程序。
4)如何n为0的话 转到1继续接收下一个整数。

            while (true)
            {
                int num = Convert.ToInt32(Console.ReadLine());
                if (num > 0)
                {
                    for (int i = 1; i <= num; i++)
                    {
                        Console.Write(i + " ");
                    }
                    Console.WriteLine();
                }
                else if (num < 0)
                {
                    return;
                }
            }

  

13,一个控制台应用程序,求1000之内的所有“完数”。所谓“完数”是指一个数恰好等于它的所有因子之和。例如6是完数,因为6=1+2+3。

 

            for (int i = 1; i < 1001; i++)
            {
                string str = "1";
                int sum = 1;
                for (int j = 2; j < i; j++)
                {
                    if (i % j == 0)
                    {
                        str += "+" + j;
                        sum += j;
                    }
                }
                if (sum == i)
                {
                    Console.WriteLine(i + "是完数" + str);
                }
            }
            Console.ReadKey();

  

posted @ 2018-11-16 16:50  阿晖2222  阅读(153)  评论(0编辑  收藏  举报