美文网首页
编写函数输出完备数及其所有约数

编写函数输出完备数及其所有约数

作者: Go_for_Google | 来源:发表于2018-06-04 23:03 被阅读0次

如果一个数正好是他的所有约数(除了它本身以外)的和,称为完备数,
如:6,它的约数有1,2,3,并且1+2+3=6.求出30000以内的所有完备数,并显示输出。
(求完备数用函数实现)(参考函数原型:void find(int j),直接在函数中输出小于等于j的完备数及其所有约数)
输入输出格式要求:
编写函数void find(int j);直接在函数中输出小于等于j的完备数及其所有约数
输出格式:
完备数=约数+约数+约数...回车
(约数从小到大)
例如:
find(40);
输出:
6=1+2+3回车
28=1+2+4+7+14回车

#include<stdio.h>
#include<stdlib.h>
void find(int m)
{
    int count;
    int i, j;
    for (i = 4; i <= m; i+=2)//迄今发现的完数都是偶数,所以只考察m内的偶数
    {
        for (count=1,j = 2; j*j <= i; j++)//用2、3、4……去除i,直到i的平方根
        {
            if (!(i%j))
                count += (j != i / j ? j + i / j : i);//若能整除则把由下一句把因子加到count上,count初值=1是因为1肯定是因子
        }
        if (count == i)
        {//当因子和count等于i时i就是完数,由以下语句输出因子和的表达式
            printf("%d=1", i);
            for ((count >>= 1) += 1, j = 2; j < count; j++)//用2、3、4……去除这个完数,直到它的一半,也可以用数组记录下每个因子,然后输出数组的每个元素
            {
                if (!(i%j))//若能整除,则j就是它的一个因子
                    printf("+%d", j);//将这个因子用+号连接输出
            }
            printf("\n");//结尾按照格式要求输入回车符
        }
    }
}
int main()
{
    int m;
    scanf_s("%d", &m);
    find(m);
    system("pause");
    return 0;
}

相关文章

  • 编写函数输出完备数及其所有约数

    如果一个数正好是他的所有约数(除了它本身以外)的和,称为完备数,如:6,它的约数有1,2,3,并且1+2+3=6....

  • 输出100以内的完全数

    完全数:又称为完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等...

  • 2017年11月1日行动

    一、阅读文学著作; 二、高数映射与函数及其相关练习; 三、黑洞数代码的编写; 四、1.5公里的跑步; 五、英语听力...

  • 归递函数

    递归函数知识点 //编写一个函数n,调用这个函数时,倒叙输出1-n之间的所有正整数。比如输入5,会输出5,4,...

  • Python编程题3--找出1000以内的完全数

    题目 如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。例如:第一个完全数是6,它有约数1...

  • 实验十:优秀代码

    C : 递归求最大公约数 题目描述写递归函数求两个数的最大公约数优秀代码 D: 编写删除字符串中某个字符的函数--...

  • 9.3 函数 :任意进制输出[递归]

    编写函数to_base_n(),输入任意十进制正整数和进制数,然后按照指定进制输出输入样例 输出样例 示例程序

  • 求1000以内的完全数(Perfect Number)

    根据完全数(Perfect Number)的定义 一个数的所有真因子(即除了自身以外的约数)的和(即因子函数),恰...

  • 2017.12.15

    作业一:编写一个程序,用户输入5个数,并在最后输出大于这5个数平均数的所有数.

  • 素数问题

    1.辗转相除法 gcd函数用于求两数的最大公约数,该函数递归的返回a,b中较小的数和他们相除之后的余数。直到两数除...

网友评论

      本文标题:编写函数输出完备数及其所有约数

      本文链接:https://www.haomeiwen.com/subject/mtsusftx.html