1000之内的完数
如,6的因子为1,2,3,而6=1+2+3
#include <stdio.h> int main() { int m,s,i; //s=0;不能在此处为s赋初值,因为for循环执行的每一次都要求s为0 for(m=2;m<1000;m++) { s=0;// for(i=1;i<m;i++) if(m%i==0) { s=s+i; } if(s==m) { printf("%d its factors are ",m); for(i=1;i<m;i++) if(m%i==0) printf("%d ",i); printf("\n"); } } return 0; }