CMNSOFT
首页|算法设计|在线应用
03.寻找完全数
作者:孙自超发布时间:2024-10-08 12:18:35

新知识


例1.寻找完全数

完全数又称完美数或完备数。如果一个数恰好等于它的所有因子(不包含它本身)之和,则称该数为“完全数”。例如28,它的因子是1,2,4,7,14。而且1+2+4+7+14=28。请写程序判断一个数是否完全数。

(1)题目分析

只要能列举出一个数的所有因子,再把这些因子加起来(不包含它本身),就可以求出完全数。


(2)流程图

flowchart LR
A(开始程序)-->B[int x,sum=0,i=1;]
B-->C[/输入值给x/]
C-->D{i < x}
D-- No -->H{sum==x}
D-- Yes --> E{x%i==0}
E-- No -->G[i+=1]
E-- Yes --> F[sum+=i]
F--> G
G--> D
H-- No --> I(结束程序)
H-- Yes --> J[/输出x是完全数/]
J-->I



(3)源代码

#include<bit/stdc++.h> using namespace std; int main() { int x,sum=0,i=1; cin>>x; while(i<x){ if(x%i==0){ sum +=i; } i+=1; } if(sum==x) cout<<x<<"是完全数"; return 0; }

课后练习


1.请用for语句改写上面程序。

2.请写程序列举出1-999间所有的完全数。

提示:把判断完全数的代码封装成函数,再在主程序中调用。

桂ICP备11003301号 桂公网安备45040302000027号
Copyright @ 2011-2025 by Sun zi chao
平台运行天数:90天
阅读次数:4175次
展开目录
+  01.基础知识

01.算法是什么?

02.编程语言介绍

03.编程基础

04.控制结构-1

05.控制结构-2

06.控制结构-3

07.函数的使用

+  02.数值运算

01.取整与取模

02.寻找因数

03.寻找完全数

04.求最大公约数

05.求最小公倍数

06.斐波那契数列

+  03.字符串运算
+  04.搜索算法
+  05.排序算法
+  06.分治算法
+  07.回溯算法
+  08.动态规划
+  09.贪心算法
+  10.遗传算法

同步视频