一个数如果恰好等于它的因子之和这个数就称为完数六的因子为123而6=1+2+3因此六是完数编程序找出1000之内的所有完数?
#include<stdio.h>
int main(){
int i,j;
int x=0;
for(i=1;i<=1000;i++){
for(j=1;j<=i;j++){
if(i%j==0){
x+=j;
}
}
if(2*i==x){
printf("%d ",i);
}
}
return 0;
}
一层循环就够了
if 6==i/100+i/10+i%10就是了
i/100得到百位数,低于100的得到0
i/10得到十位数,低于10得到0
i%10得到个位数