完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。
#include<iostream>
using namespace std;
int main()
{
int sum = 0;
for (int i = 1; i < 1001; i++)
{
int max=1;
for (int j = 1; j < i; j++)
{
int n = i;
if (n % j == 0)
{
n = n / j;
sum = sum + j;
if (j > max)
{
max = j;
}
}
}
if (sum == i)
{
cout << i << "=";
for (int j = 1; j < i; j++)
{
int n = i;
if (n % j == 0&&j!=max)
{
n = n / j;
cout << j << "+";
}
}
cout << max << endl;
}
sum = 0;
}
return 0;
}