问题描述
求某一范围内完数的个数。
如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。例如,6的因子为1、2、3,而 6=1+2+3,因此6是“完数”。
#include<stdio.h>
int main()
{
int i,s,j;
for(i=1; i<=10000; i++)
{ s=0; //为什么不能放到i=1前面?
for(j=1; j<i; j++)
if(!(i%j))
s+=j;
if(s==i)
printf("%d\n",i);
}
return 0;
}
s=0; //为什么放到i=1前面? 会没有输出?
#include<stdio.h>
int main()
{
int i,s,j;
for(s=0,i=1; i<=10000; i++)
{
for(j=1; j<i; j++)
if(!(i%j))
s+=j;
if(s==i)
printf("%d\n",i);
}
return 0;
}