这个程序为什么不对呢
题: 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
我的程序:
main()
{ int i,j,s=0;
for(i=1;i<=1000;i++)
{for(j=1;j<i;j++)
{ if(i%j==0)
s=s+j;
}
if(i==s)
printf("%3d",i);
}
while(1);
}
#include <stdio.h>
main () {
int i,j,sum;
for(i=1;i<=1000;i++){
sum=0;
for(j=1;j<=i/2;j++)
if (i/j*j==i) sum+=j;
if (sum==i) printf("%d\t",i);
}
}