有戏

 找回密码
 立即注册
简历下载
搜索
热搜: 活动 交友 discuz
查看: 716|回复: 0

判断 n 是不是 完数

[复制链接]

1000

主题

1002

帖子

25万

积分

论坛元老

Rank: 8Rank: 8

积分
251951
发表于 2015-1-17 13:09:11 | 显示全部楼层 |阅读模式


#include <stdio.h>
#include <conio.h>




/*

判断  n 完数 :  除了它本身外的所有的因子的和 等于 它本身。


完数 :6 = 1 +2 + 3  ; 28 = 1 + 2 + 4 + 7 + 14

非完数 : 4,8,9....

m = 1;
判断完数算法: 用 i =  2 --> n-1 除 n, 如果可以   整除 ,;累加 i 到 累加变量 m;

if( m == n)
*/




int main()
{
    int n;
    int i=2;
    int m=1;
    printf("input n please:");
    scanf("%d",&n);
    if(n <= 1)
    {
        printf("n >= 2");
        return 0;
    }

    while(i <= n-1)
    {
        if( n % i == 0)//

            m = m+ i;;  //

        i++;
    }
    if(m == n)   //
        printf("%d 是完数\n",n);
    else
        printf("%d 不是完数\n",n);
    return 0;
}
大家好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|有戏 粤ICP备2020111303号

GMT+8, 2025-12-6 12:26 , Processed in 0.076472 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表