【python】找出1000以内的所有完数(适合初学者学习 附源码)

怼烎@ 2023-09-30 16:22 88阅读 0赞

觉得有帮助请点赞关注收藏一下啦~~~

完数定义:如果一个数恰好等于它的所有因子之和,这个数就称为完数,例如6=1+2+3

下面通过python编程实现找出1000以内的所有完数 运行结果如下

38d5bb342f3a4087b99b195ff5f704cc.png

代码如下

  1. '''
  2. for n in range(100,1001):
  3. i=n/100
  4. j=n/10%10
  5. k=n%10
  6. if i*100+j*10+k==i+j**2+k**3:
  7. print(n)
  8. '''
  9. from sys import stdout
  10. for j in range(2,1001):
  11. k=[]
  12. n=-1
  13. s=j
  14. for i in range(1,j):
  15. if j%i==0:
  16. n+=1
  17. s-=i
  18. k.append(i)
  19. if s==0:
  20. print(j)
  21. for i in range(n):
  22. #stdout.write(k[i])
  23. stdout.write('')
  24. print(k[n])

发表评论

表情:
评论列表 (有 0 条评论,88人围观)

还没有评论,来说两句吧...

相关阅读