栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

循环结构习题:打印“完数”

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

循环结构习题:打印“完数”

 

试题详情:

编写程序,完成打印1000以内所有的完数。 完数:该数的各因子之和正好等于该数本身 例如:6=1+2+3 28=1+2+4+7+14 所以: 6、28都是完数。 对于一个整数m,如何判断它是否完数? 从数学知识可以知道,一个数m的(除该数本身外)所有因子都在1~m/2之间。 算法中要取得因子之和,只要在1~m/2之间找到所有整除m的数,将其累加起来即可。 如果累加和与m本身相等,则说明m是一个完数,将m输出。

输入提示:

输入仅一行,输入2 个正整数m 和n(m≥1,n≤1000)

输出提示:

输出m ~n 之间的所有完数
输出多行:每行1个完数 。

输入样本:

1 100

输出样本:

6
28

#include 
#include 

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("%dn",m);
    }
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/605079.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号