1:错误的
int main() { int a,b; a=b=0; for(int i=1;i<1000;i++) { for(int j=1;j<i;j++) { if(i%j==0) { a+=j; } } if(i==a) { printf("%d\n",i); } } return 0; }
2:正确的
#include<stdio.h> int main() { int a,b; a=b=0; for(int i=1;i<1000;i++) { a=0 //每次循环必须将a初始化为0. for(int j=1;j<i;j++) { if(i%j==0) { a+=j; } } if(i==a) { printf("%d\n",i); } } return 0; }