C语言实现输出1000以内的所有完全数

 更新时间:2024年06月24日 10:41:23   作者:sherlockjjobs  
这篇文章主要介绍了C语言实现输出1000以内的所有完全数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

C语言输出1000以内的所有完全数

#include <stdio.h>

int main()
{
    int i,j;
    
    printf("1000以内的所有完数:");
    
    for(i=1;i<=1000;i++)
    {
        int sum=0;
        for(j=1;j<i;j++)
        {
            if(i%j==0)
                sum = sum+j;
        }
        if(sum==i)
            printf("%d  ",i);
    }
    printf("\n");
           
    return 0;
}

输出结果:

1000以内的所有完数:6 28 496

C语言输出两数之间的所有完全数

编写程序,输入两个正整数m和n(1<=m,n<=10000),输出两数之间的所有完全数。

要求定义并调用函数perfectNumber(?)判断n是否是完全数。

完全数:所有的真因子的和恰好等于它本身的自然数。

例如:28是一个完全数,它有真因子1、2、4、7、14,相加等于28。

//完美数,一个数恰好等于其因子之和
#include<stdio.h>

void perfectnum(int m,int n);

int main() {
    int m,n;
    printf("输入两个正整数m和n(1<=m,n<=10000):");
    scanf("%d %d",&m,&n);
    perfectnum(m,n);
    return 0;
}

void perfectnum(int m,int n)
{
    int a;
    int i;
    int sum;
    for(a=m;a<n;a++)
 //求的m-n的完美数
    {
        sum=0;
        for (i=1; i<=a/2; i++)
//减少循环的次数,判断到一半时就可以判断出所有的因子
        {
            if(a%i==0)
                sum=sum+i;
        }
        if (a==sum) {
            printf("%d是完美数\n",a);
        }
    }
}


输出

输入两个正整数m和n(1<=m,n<=10000):0 1000
0是完美数
6是完美数
28是完美数
496是完美数

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 算法详解之分支限界法的具体实现

    算法详解之分支限界法的具体实现

    这篇文章主要介绍了算法详解之分支限界法的具体实现,需要的朋友可以参考下
    2014-02-02
  • 详细分析c++ const 指针与指向const的指针

    详细分析c++ const 指针与指向const的指针

    这篇文章主要介绍了c++ const 指针与指向const的指针的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C语言数据结构 双向链表的建立与基本操作

    C语言数据结构 双向链表的建立与基本操作

    这篇文章主要介绍了C语言数据结构 双向链表的建立与基本操作的相关资料,需要的朋友可以参考下
    2017-03-03
  • C++实现班级成绩管理系统

    C++实现班级成绩管理系统

    这篇文章主要为大家详细介绍了C++实现班级成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • C++初阶学习之模板进阶

    C++初阶学习之模板进阶

    这篇文章主要为大家介绍了C++模板进阶,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • C++浅析序列数据封装与优化实现方法

    C++浅析序列数据封装与优化实现方法

    封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全,数据封装是一种把数据和操作数据的函数捆绑在一起的机制,数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制
    2022-12-12
  • visual studio 2022一个不易发现的问题

    visual studio 2022一个不易发现的问题

    本文主要介绍了visual studio 2022一个不易发现的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • C语言实现扫雷小程序

    C语言实现扫雷小程序

    这篇文章主要为大家详细介绍了C语言实现扫雷小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • C++中产生临时对象的情况及其解决方案

    C++中产生临时对象的情况及其解决方案

    这篇文章主要介绍了C++中产生临时对象的情况及其解决方案,以值传递的方式给函数传参,类型转换以及函数需要返回对象时,并给对应给出了详细的解决方案,通过图文结合的方式讲解的非常详细,需要的朋友可以参考下
    2024-05-05
  • C++利用代理模式实现远程代理,虚拟代理和保护代理

    C++利用代理模式实现远程代理,虚拟代理和保护代理

    今天给大家简单介绍代理模式,一个很简单的设计模式,旨在不改变原对象的情况下通过代理对象来控制对原对象的访问。代理模式根据具体情况还可以分为远程代理、虚拟代理、保护代理等,下面来介绍一下
    2023-04-04

最新评论