作业比赛编号 : 100000592 - 《算法笔记》5.5小节——数学问题->质因子分解 问题 A: 完数
#include<cstdio>
#include<cmath>
bool wanShu(int n)
{
int sum=1;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
sum=sum+i+n/i;
}
if(sum==n) return true;
return false;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF){
int s[n];
int j=0;
for(int i=6;i<=n;i++)
if(wanShu(i))
s[j++]=i;
for(int i=0;i<j-1;i++){
printf("%d ",s[i]);
}
printf("%d\n",s[j-1]);
}
return 0;
}
/**************************************************************
Problem: 1783
User: #########
Language: C++
Result: 正确
Time:3 ms
Memory:1192 kb
****************************************************************/