C语言———求”完数“

article/2025/4/8 3:09:29

一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3,编程找出1000以内的所有完数。

分析过程

  • 所谓完数,就是其因子之和(不包括自己本身)等于其本身,称其为完数;
  • 解决此题,我们需要将每个数逐个进行判断,如果条件符合,我们打印其因子就OK啦!
  • 兼顾到程序时间复杂度,我们只需要判断**“1到该数的平方根”**就OK啦,但是我们需要将在此范围内对应的另一个因子算出来,即用原数除以此范围中该数的因子。比如题目中给出的6是完数,但是6的平方根为2(我们用转化为int类型),但是我们都知道3也是6的因子,但是3又不在我们给出的范围【1,2】,我们只需要用6/2即可得到它。
  • 这样做完我们在判断因子之和的时候,需要减去其本身一次,因为1是每个数的因子么,但是我们又求出了它的另一半,这又不符合完数的定义,所以我们在此必须减去其本身一次,即可得到正解!做到这一步,我们基本上就可以很容易的把代码写出来了!

代码展示

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define M 1000int main()
{int i,j;for(i=2;i<M;i++){	int sum=0;for(j=1;j<=sqrt(i);j++){if((i%j)==0){sum=sum+j+(i/j);}}//判断是否为完全数,如果是,则打印其因子 if(i==sum-i){printf("%d is factors number: ",i);for(j=1;j<i;j++){	if(i%j==0)printf("%d ",j);}	printf("\n");}			}return 0;
}

运行结果展示

在这里插入图片描述

程序反思

小编对此代码的时间复杂度较为满意的,刚开始小编是从1到 i-1 来求其因子的,这样光判断是否为合数时间复杂度就已经基本为M^M了,小编这个代码的时间复杂度为M*sqrt(M),相比起前者,时间复杂度得到了更好的优化。大家可以将M的值给到100000就能很清楚的感受到了。
因为时间原因,后期小编再为大家提供另一种解决思路,今天举出来的解法时间复杂度还是有点大,我们应该寻找更优的解法,大家也可以留言谈谈你对此题的高见!欢迎大家批评留言及讨论!


http://chatgpt.dhexx.cn/article/8FwUgSok.shtml

相关文章

[C语言] [试题详解] 求1000之内的所有 完数

题目>>> 一个数如果恰好等于它的因子之和&#xff0c;这个数就称为“完数”。 例如&#xff0c;6的因子为1、2、3&#xff0c;而6&#xff1d;1&#xff0b;2&#xff0b;3&#xff0c;因此6是“完数”。 编程序找出1000之内的所有完数&#xff0c;并…

车载行车记录仪EMC浪涌防护方案图

客户向东沃技术寻求帮助&#xff0c;具体事情是这样的&#xff1a;客户公司自己生产的车载行车记录仪&#xff0c;在DC电源端口测试时&#xff0c;有故障&#xff0c;发生了小概率DC芯片损坏的。具体如下图所示&#xff1a; 案例分析 客户原理图如下&#xff1a; 根据客户原…

出门在外,你需要一个行车记录仪

5月3日下午&#xff0c;一段行车记录仪视频在网上疯传。在这段仅有35秒钟的视频里&#xff0c;一名身穿黑色上衣、白色短裤的男子&#xff0c;开车将一名长发女子逼停&#xff0c;当街殴打。女司机被暴打至骨折脑震荡&#xff0c;身上多处淤青。这段视频曝光后&#xff0c;引起…

锐动SDK应用于行车记录仪

方案架构 手机端直播与录播功能忠实记录旅途中各种突发事件&#xff0c;还原事实真相&#xff0c;与家人和朋友分享沿途美景&#xff0c;一同感受美妙之旅。 强大的视频编辑功能&#xff0c;像编辑图片一样给视频添加各种滤镜&#xff0c;配音&#xff0c;配乐&#xff0c;标题…

行车记录仪数据删除如何恢复?

10月&#xff0c;公安部交通管理局权威发布&#xff0c;截至2018年9月&#xff0c;全国机动车保有量达3.22亿辆&#xff1b;机动车驾驶人达4.03亿人。随着机动车和驾驶人数量的增加&#xff0c;交通事故和机动车交通事故责任纠纷案件也在逐年上涨。 部分案件常常因没有目击证人…

行车记录仪的21条问答

行车安全越来越受到人们的重视&#xff0c;许多车主开始打算为自己的座驾配备一款高清行车记录仪&#xff0c;但大家在购买的过程中有各种疑问&#xff0c;下面就行车记录仪的21个问题从技术角度进行分析&#xff0c;希望对大家有所帮助! 1. 问&#xff1a;选择1296p还是1080p?…

凌度记录仪mov视频恢复修复方法

凌度记录仪听名字应该也是个小厂的产品&#xff0c;不过让人感到惊奇的是对于音频编码其采用了高清格式&#xff0c;这个和目前常见的aac压缩编码形成了对比&#xff0c;因为高清音频虽然效果好&#xff0c;但是占用的空间更大。由于这个案例存在部分覆盖的情况&#xff0c;所以…

android 行车记录仪分析,基于Android架构行车记录仪的异常掉电可播放视频方法与流程...

本发明涉及摄录像视频技术领域&#xff0c;特别涉及一种基于Android架构行车记录仪的异常掉电可播放视频方法。 背景技术&#xff1a; 随着车联网概念的兴起和技术的积累&#xff0c;越来越多的智能设备被接入到车辆上。行车记录仪作为非常重要的一种车载设备形态&#xff0c;越…

行车记录仪android,车叮咚:一款搭载 Android 系统的行车记录仪是怎样的?

市面上关于行车记录仪、OBD 盒子以及车机系统的产品有很多品类&#xff0c;但是大多功能单一&#xff0c;可是如果将以上三种功能进行整合并且以后视镜形态出现的话&#xff0c;会有人感兴趣吗&#xff1f; 这款产品叫做车叮咚&#xff0c;创始人张昊告诉雷锋网(公众号&#xf…

嵌入式系统在物联网中的应用及架构

如果说其他技术涉及到的是物联网的某个特定方向&#xff0c;如感知、计算、通信等。嵌入式系统则是物联网中各种物品的表现形式。 首先要谈一下关于架构 在接触嵌入式之后&#xff0c;就出现了一系列的XX架构之类的狼虎之词&#xff0c;什么物联网架构、互联网架构、智能手机的…

【毕设项目】 基于stm32的四轴飞行器设计 - 物联网 嵌入式 单片机

1 简介 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介绍一个学长做的单片机项目 基于stm32的四轴飞行器设计 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: https://blog.csdn.net/m0_71572576/article/details/12540…

【毕业设计】基于 stm32 的病房呼叫系统 - 物联网 嵌入式 单片机

文章目录 1 简介2 绪论2.1 课题背景 3 系统设计3.1 系统架构3.2 主程序设计3.3 语音模块程序设计3.4 显示模块程序设计3.5 键盘模块程序设计3.6 无线传输模块程序设计3.7 部分实现代码 4 最后 1 简介 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介…

嵌入式物联网软件开发实战系列(STM32+FreeRTOS)

一、使用STM32CubeMx 创建物联网项目软件工程 二、STM32CubeMx 配置时钟 三、STM32CubeMx 配置GPIO 及 GPIO 相关接口在软件工程中的形式及使用 四、STM32CubeMx 配置USART 串口 五、USART 串口在物联网项目中的使用之不定长数据接收&#xff08;DMA空闲中断方式&#xff0…

【毕业设计】基于单片机的智能饮水控制系统 - 物联网 嵌入式 stm32 c51

文章目录 1 简介2 功能要求3 相关器件4 实现效果5 部分实现代码6 最后 1 简介 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介绍一个学长做的单片机项目&#xff0c;不过这个项目是帮助企业研发的 基于单片机的智能饮水控制系统 大家可用于 毕业设…

对嵌入式开发方向的一些思考:在物联网方向

学习知识就是为了应用&#xff0c;我们学习了嵌入式硬件和软件、具备一定的基础之后&#xff0c;是不是很想找一些简单的项目练练手&#xff1f;如果你有这种非常强烈的感觉的话&#xff0c;我相信你已经具备一定的嵌入式开发技术基础了。 接下来&#xff0c;你可能要犯愁了&am…

毕业设计 基于stm32的居民小区火灾检测报警系统 - 物联网 嵌入式

基于stm32的居民小区火灾检测报警系统 由 STM32F103C8T6单片机最小系DHT11LCD1602显示模块蜂鸣器MQ-2ESP8266噪声模块按键3个。 系统内可以通过1602来显示温湿度值和烟雾浓度和噪声值和它们的阈值&#xff0c;可以通过按键设置阈值&#xff0c;当任意一个实际值大于阈值时蜂鸣…

物联网嵌入式系统开发应用软件公司怎么选择

软件开发已经不是新鲜词汇&#xff0c;而成为当下智能科技新潮流&#xff0c;对于不同的企业&#xff0c;嵌入式软件开发会有更针对性的需求&#xff0c;纵观整个软件开发行业&#xff0c;做APP小程序网站开发的多如牛毛&#xff0c;而物联网应用嵌入式技术开发公司并不多&…

聊一聊物联网嵌入式芯片的内容结构

摘要&#xff1a;物联网嵌入式芯片&#xff0c;存储是数据核心之一&#xff0c;这个对于编程和设计的人来说又比较陌生&#xff0c;今天来说说MCU中的内存结构。 本文分享自华为云社区《漫谈嵌入式系统的内存》&#xff0c;作者&#xff1a;o0龙龙0o 。 前言 物联网嵌入式芯片…

5G+边缘计算 物联网嵌入式边缘计算平台

伴随着5G的来临&#xff0c;物联网技术的发展趋势让互连机器设备和信息量猛增&#xff0c;调研机构Gartner公司预测&#xff0c;到2025年&#xff0c;75%的企业生成的数据将在边缘计算设施而不是在传统数据中心创建和处理。 为满足市场对高性能边缘计算平台的应用需求&#xff…

嵌入式物联网软件开发实战

一、使用STM32CubeMx 创建物联网项目软件工程 二、STM32CubeMx 配置时钟 三、STM32CubeMx 配置GPIO 及 GPIO 相关接口在软件工程中的形式及使用 四、STM32CubeMx 配置USART 串口 五、USART 串口在物联网项目中的使用之不定长数据接收&#xff08;DMA空闲中断方式&#xff09; 六…