完数:因子和与它本身相等的数(因子包括1但不包括自身)。例如,28的因子有1、2、4、7、14,而28=1+2+4+7+14,所以28是完数。
注意:因子取值最大为它本身的一半。
#include<stdio.h>
int factorsum(int number)
{
int i,sum=0;
for(i=1;i<=number/2;i++)
{
if(number%i==0)
{
sum+=i;
}
}
return sum;
}
int main(void)
{
int number,t=0;
printf("1~10000之间的完数有:\n");
for(number=1;number<=10000;number++)
{
if(number==factorsum(number))
{
t++;
printf("%d\n",number);
}
}
printf("共%d个\n",t);
return 0;
}