Welcome

首页 / 软件开发 / C# / c#如何判断一个数是否是完数

c#如何判断一个数是否是完数2010-07-27完数就是该数的所有约数(能整除自己的自然数,但不包括本身)相加等于自己的数。如28就是一个完数,28=+1+2+4+7+14。

利用下面的算法可以一个数是否为完数,如果为完数输出该数所有的约数,并返回True,否则,返回False。程序代码如下:

public bool IsWanShu(int Num)
{
int s=0;
for (int i=1;i<Num;i++)
{
if((Num%i)==0)
s=s+i;
}
if (Num == s)
{
string str = s.ToString() + "=";
for (int i = 1; i < s; i++)
{
if ((s % i) == 0)
{
str = str +"+"+ i.ToString();
}
}
Console.Write(str+",");
return true;
}
return false;
}