输出1-1000之间的完数,完数:一个完数是它的所有因子(不包括本身)之和,如6的因子是1,2,3而1+2+3=6,所以六是一个完数
用控制台应用程序做!!!

解决方案 »

  1.   

    没考虑效率,还好只算到1000……        static void Main(string[] args)
            {
                for (int i = 1; i <= 1000; i++)
                {
                    if (i == GetGenesSum(i))
                        Console.WriteLine(i);
                }
                Console.ReadKey();
            }
            static int GetGenesSum(int n)
            {
                if (n <= 0)
                    return 0;
                List<int> list = new List<int>();
                for (int i = 1; i <= n; i++)
                {
                    if (n % i == 0)
                        list.Add(i);
                }
                int result = 0;
                for (int i = 0; i < list.Count - 1; i++)
                    result += list[i];
                return result;
            }