Python初学者练习:查找完美数

Python初学者练习:查找完美数

首页休闲益智完美数字更新时间:2024-07-26

完美数(Perfect number),又称完全数或完备数,指的是一个正整数,它所有的真因子(即除了自身以外的约数)之和,恰好等于它本身。

例如:6,除了自身之外的约数是1、2、3。
6=1 2 3
6是一个完美数。

方法1:使用for循环中查找完美数

第1步:用变量n来存储用户输入的数字。
第2步:变量sum来存储约数之和。
第3步:使用for循环来迭代
第4步:if选择结构中,如果找到一个约数(能被i整除,i就是约数),然后将约数累加到sum计算总合。
第5步:if选择结构判断,sum等于输入的数字n,则n是完美数。

我们在以上程序添加另一个for循环,迭代1000之内的数字,我们可以找到1000内的完美数。

方法2:使用while循环查找完美数

实现原理与上面示例相同。

方法3:自定义函数查找完美数

实现原理与上面示例相同,自定义函数,返回约数之和。

文中涉及代码:

def perfect_numbers(m): sum=0 for i in range(1,m): if m%i==0: sum=sum i return sum n=int(input('请输入一个整数:')) if n==perfect_numbers(n): print(f"{n}是一个完美数。") else: print(f"{n}不是一个完美数。") n=int(input('请输入一个整数:')) i=1 sum=0 while i<n: if n%i==0: sum=sum i i=i 1 if sum==n: print(f"{n}是一个完美数。") else: print(f"{n}不是一个完美数。") for n in range(1,1001): sum=0 for i in range(1,n): if n%i==0: sum=sum i if sum==n: print(f"{n}是一个完美数。") n=int(input('请输入一个整数:')) sum=0 for i in range(1,n): if n%i==0: sum=sum i if sum==n: print(f"{n}是一个完美数。") else: print(f"{n}不是一个完美数。")

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved