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是完美数

总结

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

相关文章

  • 基于MFC实现自定义复选框效果

    基于MFC实现自定义复选框效果

    复选框是一种可同时选中多项的基础控件,主要是有两种明显的状态:选中与非选中。本文将通过MFC框架实现自定义复选框效果,感兴趣的可以了解一下
    2022-02-02
  • C++实现CreatThread函数主线程与工作线程交互的方法

    C++实现CreatThread函数主线程与工作线程交互的方法

    这篇文章主要介绍了C++实现CreatThread函数主线程与工作线程交互的方法,是Windows应用程序设计中非常实用的方法,需要的朋友可以参考下
    2014-10-10
  • Qt数据库应用之实现csv文件转xls

    Qt数据库应用之实现csv文件转xls

    这篇文章主要为大家详细介绍了如何利用Qt实现csv文件转xls功能,文中的示例代码讲解详细,对我们学习或工作有一定参考价值,需要的可以了解一下
    2022-06-06
  • C语言进程程序替换的实现详解

    C语言进程程序替换的实现详解

    为什么要进程替换?因为父进程创建出来的子进程和父进程拥有相同的代码段,所以,子进程看到的代码和父进程是一样的。当我们想要让子进程执行不同的程序时候,就需要让子进程调用进程程序替换的接口,从而让子进程执行不一样的代码
    2022-08-08
  • C++20 特性 协程 Coroutines(1)

    C++20 特性 协程 Coroutines(1)

    这篇文章主要给大家分享得是C++20 得特性 协程 Coroutines,下面文章内容我们将来具体介绍什么是协程,协程得好处等知识点,需要的朋友可以参考一下
    2021-10-10
  • c++创建二维动态数组与内存释放问题

    c++创建二维动态数组与内存释放问题

    这篇文章主要介绍了c++创建二维动态数组与内存释放问题,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • c++临时对象导致的生命周期问题

    c++临时对象导致的生命周期问题

    对象的生命周期是c++中非常重要的概念,它直接决定了你的程序是否正确以及是否存在安全问题,这篇文章主要介绍了c++临时对象导致的生命周期问题 ,需要的朋友可以参考下
    2024-07-07
  • 利用C语言实现http服务器(Linux)

    利用C语言实现http服务器(Linux)

    本文将利用C语言实现一个轻量级的http服务器,使用Reactor模式,即主线程只负责监听文件描述符上是否有事件发生,有的话立即将该事件通知工作线程,感兴趣的可以了解一下
    2022-07-07
  • 详解如何用alpine镜像做一个最小的镜像并运行c++程序

    详解如何用alpine镜像做一个最小的镜像并运行c++程序

    这篇文章主要介绍了详解如何用alpine镜像做一个最小的镜像并运行c++程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • C++实现将图片转换为马赛克效果的示例代码

    C++实现将图片转换为马赛克效果的示例代码

    这篇文章主要为大家详细介绍了C++如何实现将图片转换为马赛克效果,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解一下
    2023-01-01

最新评论