一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数。
利用布尔类型判断真假。
#include <iostream>
//判断n是否为完数
bool IsPerfect(int n)
{
int sum =0;
for(int i=1;i<n;i++)
{
if(n%i==0)
{
sum += i;
}
}
return sum ==n;
}
int main()
{
for(int i=1;i<1000;i++)
{
if(IsPerfect(i))
{
printf("%d\n",i);
}
}
}
输出结果:6 28 496
源代码:
#include
//判断n是否为完数
bool IsPerfect(int n)
{
int sum =0;
for(int i=1;i<n;i++)
{
if(n%i==0)
{
sum += i;
}
}
return sum ==n;
}
int main()
{
for(int i=1;i<1000;i++)
{
if(IsPerfect(i))
{
printf("%d\n",i);
}
}
}