7-2 10000以内的完数 (10 分)
完数指的是该数等于它的所有因子之和(自己除外)。例如6的因子有1,2,3,6=1+2+3,6是完数。 找出10000以内的完数并输出。
输入格式:
无输入
输出格式:
每个完数之间用空格分隔(最后一个完数后面也有一个空格)。
输入样例:
无输入。
输出样例:
6 28 496 8128
代码:
# include<stdio.h>
int main()
{
int i,j,sum;
for(i=3;i<=10000;i++)
{
sum=1;//注意sum只能在循环内部初始化,否则每次大循环开始sum不为1
for(j=2;j<i;j++)
{
if((i%j)==0)
{
sum=sum+j;
}
}
if(sum==i)
{
printf("%d ",i);
}
}
return 0;
}