完美数(Perfect number),又称完全数或完备数,指的是一个正整数,它所有的真因子(即除了自身以外的约数)之和,恰好等于它本身。
例如:6,除了自身之外的约数是1、2、3。
6=1 2 3
6是一个完美数。
第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