/************************************************************************/
/* 求1000以内的完数,如6的因子为1,2,3,满足6=1+2+3 */
/************************************************************************/
#include <stdio.h>
int main()
{
int sum;//存放因子之和
int i,j; //循环变量
for (i=1;i<1000;i++)
{
sum=0;//外层每循环一次,因子之和要清零。
for (j=1;j<i;j++)
{
if (i%j==0)//判断是否是因子,如果满足,将因子相加
{
sum+=j;
}
}
if (sum==i)//内层循环结束,判断所有因子之和
{
printf("%d 是完数.\n",i);
}
}
return 0;
}