一、代码
//问题:输出10000以内的完数
//完数:如果一个数恰好等于除它本身外的因子之和,这个数就是完数。
//例如:6=1+2+3
#include <stdio.h>
#include <math.h>
void main(){
int n=10000;
int i,j,sum=0;
for(i=2;i<=n;i++){
for(j=(int)sqrt(i);j>0;j--){
if(i%j==0){
sum+=j;
if(i/j!=i)
sum+=i/j;
}
}
if(sum==i)
printf("完数有:%d\n",i);
sum=0;
}
}
二、结果