用python算完全数之和的方法?
这是我们的作业:编写程序,编写一个程序求2~20000内的所有完全数之和。(一个数的所有因子之和为其本身的数称为完全数http://baike.baidu.com/vie...
这是我们的作业:
编写程序,编写一个程序求 2~20000 内的所有完全数之和。(一个数的所有因子之和为其本身的数称为完全数 http://baike.baidu.com/view/19074.htm?fr=aladdin#5_1)
我的程序是这样的,但是不知道为什么错了算不出来啊
求高手讲解一下我的错误在哪里,要怎么改正?有没有更好的方法?
我的思路是这样的 展开
编写程序,编写一个程序求 2~20000 内的所有完全数之和。(一个数的所有因子之和为其本身的数称为完全数 http://baike.baidu.com/view/19074.htm?fr=aladdin#5_1)
我的程序是这样的,但是不知道为什么错了算不出来啊
求高手讲解一下我的错误在哪里,要怎么改正?有没有更好的方法?
我的思路是这样的 展开
1个回答
展开全部
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))
追问
不好意思,你的程序里面有很多东西我都没学,看不太懂
能不能请你批改一下我的程序呢?
追答
你的程序完全不对,没法改
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询