题目:输出1000以内的完数,完数的条件是该数的因子之和等于该数的本身,如6的因子是1,2,3.1+2+3=6。
#include<stdio.h>
void main()
{
int x,i,y;
for(i=1;i<1000;i++)
{
for(x=1,y=0;x<i;x++)
{
if(i%x==0)
y=y+x;
}
if(y==i)
printf("%d\n",i);
}
}
输出结果:
6
28
496