一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6 = 1 + 2 + 3,因此6是“完数”。编程序找出1000之内的所有完数
#include <iostream>
using namespace std;
int main()
{
for (int num = 2; num <= 1000; ++num)
{
int total = 0;
int half = (int)num / 2; //因子肯定小于等于该数的1/2,所以遍历可以从1到half
for (int j = 1; j <= half; ++j)
{
if (num % j == 0)
{
total += j;
}
}
if (total == num)
{
cout << num <<" ";
}
}
cout << endl;
system("pause");
return 0;
}```