C语言函数 【问题描述】输入2个正整数m和n(m>=1,n<=1000),输出m~n之间的所有完数

【问题描述】输入2个正整数m和n(m>=1,n<=1000),输出m~n之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数factorsum(number),它的功能是返回number的因子和。例如,factorsum(12)的返回值是16(1+2+3+4+6)
【输入形式】
【输出形式】
【样例输入】1,100
【样例输出】1 6 28
【样例说明】(试例中m是1,n是100)

#include <stdio.h>
int factorsum(int n)
{
int sum,i;
for(i=1,sum=0;i<n;++i)
{
if(n%i==0)
sum+=i;
}
return sum;
}
int main(void)
{
int m,n;
while(scanf("%d , %d",&m,&n)==2)
{
for(;m<n;++m)
{
if(m==factorsum(m))
{
printf("%d ",m);
}
}
printf("\n");
}
return 0;
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答