求1到1000内的完数,所谓完数就是其值等于其因子值的和,如6的因子为 1 2 3 ; 6=1+2+3;所以6是完数。
我写了这个程序。。。好像错误。。。我想知道错在哪,错在哪,谢谢、。、
#include<stdio.h>
main()
{
int i,k,x,s=0;
for(i=2;i<1000;i++) //从2开始
{for(k=1;k<i;k++)
if(i%k==0){x=k,s=s+x;} //如果 余数为0,则K就是因子,累加
}
if(s==i)
printf("%4d",i);
}