习题 3.20 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数。
代码:
#include<iostream>
using namespace std;
int main()
{
int i,j;
int sum;
for (i = 1; i < 1000; ++i)
{
sum = 0;
for (j = 1; j < i; ++j)
{
if (i % j == 0)
{
sum += j;
}
}
if (sum == i)
{
cout << i << ",factors are ";
for (j = 1; j < i; ++j)
{
if (i % j == 0)
{
cout << j<<" ";
}
}
cout << endl;
}
}
return 0;
}
运行结果: