龙空技术网

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

信息科技云课堂 152

前言:

眼前小伙伴们对“编写程序求1000以内的所有完数”大体比较关切,我们都想要了解一些“编写程序求1000以内的所有完数”的相关资讯。那么小编也在网摘上网罗了一些关于“编写程序求1000以内的所有完数””的相关内容,希望我们能喜欢,兄弟们快快来了解一下吧!

完美数(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+1if 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+iif sum==n:     print(f"{n}是一个完美数。")else:     print(f"{n}不是一个完美数。")     

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

标签: #编写程序求1000以内的所有完数