编写一个控制台应用程序,求1000之内的所有“完数”。所谓“完数”是指一个数恰好等于它的所有因子之和。例如,6是完数,因为6=1+2+3。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//编写一个控制台应用程序,求1000之内的所有“完数”。所谓
//完数是指一个数恰好等于它的所有因子之和。例如,6是完数,因为6=1+2+3。
namespace _2._1完数
{
class Program
{
public static void PrintNumber()
{
int n = 1000;//1--1000之内的完数
int sum, j, i;
for (i = 1; i < n; i++)
{
sum = 0;//每次循环都要赋值为0,它是计算因子之和的
for (j = 1; j < i; j++)
{
if (i % j == 0)//表明是因子
{
sum = sum + j;
}
}
if (sum == i)//如果因子之和等于这个数本身则为完数
{
Console.WriteLine(sum);
}
}
}
static void Main(string[] args)
{
Program.PrintNumber();//类名调用静态方法
Console.Read();
}
}
}