题目描述
求正整数 22 和 nn 之间的完全数(一行一个数)。
完全数:因子之和等于它本身的自然数,如 6=1+2+36=1+2+3
输入
输入 nn。
输出
一行一个数,按由小到大的顺序。
样例
输入数据 1
7
输出数据 1
6
输入数据 2
30
输出数据 2
6
28
代码↓
#include<bits/stdc++.h>
using namespace std;
int judge(int x)
{
int i;
int sum=0;
for(i=1;i<=x-1;i++)
{
if(x%i==0)
{
sum+=i;
}
}
return sum;
}
int main()
{
int i,n;
cin>>n;
for(i=2;i<=n;i++)
{
if(judge(i)==i)
{
cout<<i<<endl;
}
}
return 0;
}
拜拜!