C语言求完数(完全数)(详解版)
文章推薦指數: 80 %
问题描述求某一范围内完数的个数。
如果一个数等于它的因子之和,则称该数为完数(或完全数)。
例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。
问题分析根据完数的 ...
首页
教程
VIP会员
一对一答疑
辅导班
首页
C语言教程
C++教程
Python教程
Java教程
Linux入门
更多>>
目录
C语言编程实例
1
C语言三个数从小到大排序/输出
2
C语言猴子吃桃问题
3
百钱买百鸡
4
C语言渔夫打鱼晒网问题
5
C语言希尔排序算法
6
C语言冒泡排序算法
7
C语言直接插入排序算法
8
C语言快速排序算法
9
C语言选择排序算法
10
C语言归并排序算法
11
C语言二分查找算法,折半查找算法
12
C语言分块查找算法,索引顺序查找算法
13
C语言求n的阶乘(n!)
14
C语言判断三角形的类型
15
C语言水仙花数,阿姆斯特朗数
16
C语言最大公约数和最小公倍数
17
C语言求自然底数e
18
C语言小写字母转换成大写字母
19
C语言求回文素数
20
C语言判断年份是否为闰年
21
C语言矩阵转置
22
C语言兔子生兔子问题
23
C语言狼追兔子问题
24
C语言谁家孩子跑得最慢
25
C语言获取矩阵的最大值及其下标
26
C语言统计单词个数
27
C语言字符串加密和解密算法
28
C语言输出等腰三角形
29
C语言约瑟夫环问题
30
C语言整数逆序输出
31
C语言三色旗问题
32
C语言求定积分
33
C语言求空间两点之间的距离
34
C语言日期处理函数
35
C语言汉诺塔问题
36
C语言九九乘法表
37
C语言杨辉三角
38
C语言求圆周率π
39
C语言判断素数(求素数)
40
C语言输出菱形
41
C语言百钱买百鸡问题
42
C语言求完数(完全数)
43
C语言求亲密数
44
C语言求自守数
45
C语言水仙花数
46
C语言求回文数
47
C语言求勾股数
48
C语言求最大公约数
49
C语言求最小公倍数
首页>C语言入门
阅读:137,406
C语言求完数(完全数)(详解版)
问题描述
求某一范围内完数的个数。
如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。
例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。
问题分析
根据完数的定义,解决本题的关键是计算出所选取的整数i(i的取值范围不固定)的因子(因子就是所有可以整除这个数的数),将各因子累加到变量s(记录所有因子之和),若s等于i,则可确认i为完数,反之则不是完数。
算法设计
对于这类求某一范围(由于本题范围不固定,在编程过程中采用键盘输入的方式)内满足条件的数时,一般釆用遍历的方式,对给定范围内的数值一个一个地去判断是否满足条件,这一过程可利用循环来实现。
本题的关键是求出选取数值i的因子,即从1到i-1范围内能整除i的数,看某一个数j是否为i的因子,可利用语句if(i%j==0)进行判断,求某一个数的所有因子,需要在1到i-1范围内进行遍历,同样釆用循环实现。
因此,本题从整体上看可利用两层循环来实现。
外层循环控制该数的范围2〜n;内层循环j控制除数的范围为1〜i,通过i对j取余,是否等于0,找到该数的各个因子。
另外应注意每次判断下一个选定数之前,必须将变量s的值重新置为0,编程过程中一定要注意变量s重新置0的位置。
程序流程图:
下面是完整的代码:
#include
本公众号由C语言中文网站长运营,每日更新,坚持原创,敢说真话,凡事有态度。
微信扫描二维码关注公众号
优秀文章
C语言变长数组:使用变量指明数组的长度
LinuxLiveCD:从CD光盘运行Linux
DockerStack命令
迪杰斯特拉算法求最短路径(C语言详解版)
Spring事务管理接口:PlatformTransactionManager、TransactionDefinition和TransactionStatus
Redis是什么?它的优点有哪些?
SpringBoot微服务的监控与运维
SpringWeb
千锤百炼,只为大作;精益求精,处处斟酌;这种教程,看一眼就倾心。
关于网站|
关于站长|
如何完成一部教程|
联系我们|
网站地图
Copyright©2012-2021biancheng.net,陕ICP备15000209号
↑
延伸文章資訊
- 1[C++]d010盈數、虧數和完全數- 劉育愷的學習歷程 - Google Sites
現在請你寫一個程式,輸入一個正整數N,然後印出它是盈數、虧數還是完全數。 解題: #include <iostream>. using namespace std;. main(). {.
- 2【c語言】(迴圈)找出1到10000的完全數
- 3找出完美數 - Rwei的程式日記
- 4C语言求完数(完全数)(详解版)
问题描述求某一范围内完数的个数。 如果一个数等于它的因子之和,则称该数为完数(或完全数)。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。 问题分析根据完数的 ...
- 5[C&++] 完全數問題@ Edison.X. Blog - 痞客邦
完全數為質因數應用之一範例,給初學者之code 是以暴力方式完成,且不少judge 使用這方法也可AC, ... 假設質因數分解出來結果為 N = a^x * b^y * c^z.