求2-1000的所有完数
完数是指:该数的各因子之和正好等于本身。例如:6=1+2+3 #include<stdio.h>
void main()
{int n,i,x=0;
for(n=2;n<=1000;n++)
{
for(i=1;i<=n/2;i++)
{ if(n%i) continue;
x+=i;
}
printf("%d\n ",x);
if(n==x) printf("完数是%d\n",n); x=0;}
}我得到是些乱七八糟的数,但如果把倒数第2行 printf("%d\n ",x);
去掉,好像就好了,请问高手,这是怎么回事? 我是新手。