C语言入门题库——打印完数

C语言入门题库——打印完数

Description:完成打印1000以内所有的完数。完数:该数的各因子之和正好等于该数本身。
例如:6=1+2+3
28=1+2+4+7+14
所以:6,28都是完数
Input:输入仅一行,输入2个正整数m 和n(m≥1,n≤1000)
Output:输出m~n之间的所有完数
Sample Input:每行1个完数
Sample Output:1 100
6
28

//打印完数
#include<stdio.h>
int main()
{
    int m, n, sum, i;
    scanf("%d%d", &m, &n);
    for(; m<=n; m++)
    {
        sum = 0;
        for(i=1; i<=m/2; i++)
        {
            if(m % i == 0)
                sum += i;
        }
        if(sum == m)
            printf("%d\n", m);
    }
        return 0;
}
发布了27 篇原创文章 · 获赞 0 · 访问量 945

猜你喜欢

转载自blog.csdn.net/qq_43479432/article/details/104450238