这个'怎么搞,同志们看一下

这个'怎么搞,同志们看一下

问题描述:

输入2 个正整数m 和n(m>=1,n<=1 000),输出m ~n 之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数factorsum(number),它的功能是返回number 的因子和。

例如,factorsum(12)的返回值是16(1 +2 +3 +4 +6)。

# include
int factorsum(int anumber);
int main()
{
   int m,n,i;   printf("Input m: ");
   scanf("%d",&m);
   printf("Input n: ");
   scanf("%d",&n);
   for(i=m;i<=n;i++)
   {
    if(factorsum(i)==i)
     printf("%5d",i);
   }
   printf("\n");
   return 0;
}
 
int factorsum(int number)
{
int k,t,sum=0;
if(number==1){ sum =1;
}else{
for(k=1;k<number;k++)
 
{
t=number%k;
if(t==0)
sum=sum+k;
}}
return sum;
}