题目:输出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