用python算完全数之和的方法?这是我们的作业:编写程序,编写一个程序求 2~20000 内的所有完全数之和.(一个数的所有因子之和为其本身的数称为完全数 http://baike.baidu.com/view/19074.htm?fr=aladdin#5_
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/06 21:28:04
用python算完全数之和的方法?这是我们的作业:编写程序,编写一个程序求 2~20000 内的所有完全数之和.(一个数的所有因子之和为其本身的数称为完全数 http://baike.baidu.com/view/19074.htm?fr=aladdin#5_
用python算完全数之和的方法?
这是我们的作业:
编写程序,编写一个程序求 2~20000 内的所有完全数之和.(一个数的所有因子之和为其本身的数称为完全数 http://baike.baidu.com/view/19074.htm?fr=aladdin#5_1)
我的程序是这样的,但是不知道为什么错了算不出来啊
求高手讲解一下我的错误在哪里,要怎么改正?有没有更好的方法?
我的思路是这样的
用python算完全数之和的方法?这是我们的作业:编写程序,编写一个程序求 2~20000 内的所有完全数之和.(一个数的所有因子之和为其本身的数称为完全数 http://baike.baidu.com/view/19074.htm?fr=aladdin#5_
def main(n,high):
x=0
perfectnum=[]
while n<=high:
total=0
for t in range(n//2,0,-1):
if n%t==0:
total+=t
if total>n or (total<n and t==1):
break
else:
x+=n
perfectnum.append("%d"%n)
n+=1
return (perfectnum,x)
if __name__=='__main__':
perfectnum,total=main(2,20000)
print("%s = %d"%(' + '.join(perfectnum),total))