一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,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);
}
}
}
本文介绍了一个使用C++编写的程序,该程序能够找出1000以内的所有完数。完数是指一个数恰好等于其因子之和的数。通过定义一个布尔类型的函数IsPerfect来判断一个数是否为完数,然后在主函数中遍历1到1000之间的所有整数,输出符合条件的完数。
221

被折叠的 条评论
为什么被折叠?



