这怎么搞啊,同志们看一下

这怎么搞啊,同志们看一下

问题描述:

输入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;
}