题目:输出1000以内的完数,完数的条件是该数的因子之和等于该数的本身,如6的因子是1,2,3.1+2+3=6。
#include<stdio.h> void main() { int x,i,y; for(i=1;i<1000;i++) { for(x=1,y=0;x<i;x++) { if(i%x==0) y=y+x; } if(y==i) printf("%d\n",i); } }
输出结果:
6 28 496