这怎么搞啊,同志们看一下
问题描述:
输入2 个正整数m 和n(m>=1,n<=1 000),输出m ~n 之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数factorsum(number),它的功能是返回number 的因子和。
例如,factorsum(12)的返回值是16(1 +2 +3 +4 +6)。
【输入形式】
从键盘输入2个正整数m 和n。
【输出形式】
输出m ~n 之间的所有完数。
【样例输入1】(下划线部分为键盘输入,其余部分为程序输出)
Input m: 1
Input n: 100
【样例输出1】(输出格式控制符为:%5d)
6 28
【样例输入2】(下划线部分为键盘输入,其余部分为程序输出)
Input m: 1
Input n: 500
【样例输出2】(输出格式控制符为:%5d)
6 28 496
答
#include <stdio.h>
int main()
{
int i, j, s, m, n;
scanf("%d%d", &m, &n);
for (i = m; i <= n; i++)
{
s = 0;
for (j = 1; j < i; j++)
{
if (i % j == 0)
s += j;
}
if (s == i)
printf("%5d", i);
}
return 0;
}