Description
编写程序,输入一个正整数M,输出[1,M]内的所有“完数”。每输出一个数(包括最后一个数)均以换行结束。所谓“完数”,是指一个数恰好等于它的因子值(因子不包括该数本身)之和。例如6是完数,因为6=1+2+3。
Sample Input
100
Sample Output
6 28(最后一行有回车) ```
#include<iostream>
using namespace std;
int judge(int n)
{
int sum = 0, i;
for (i = 1; i < n; i++)
{
if (n%i == 0)
sum += i;
}
if (sum == i)
return sum;
else
return 0;
}
int main()
{
int n;
while (cin >> n)
{
int i;
for (i = 1; i <= n; i++)
{
if (judge(i))
cout << i << endl;
}
}
return 0;
}