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; }
