加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python 入门经典100实例:实例19 找出1000以内的所有完数

发布时间:2020-12-17 17:01:20 所属栏目:Python 来源:网络整理
导读:题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。 程序分析:请参照程序Python 入门经典100实例:实例14。 程序源代码: #?-*-?coding:?UTF-8?-*-from?sys?import?stdoutfor?j?in?range(2,1001):????k?=?[]

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。

程序分析:请参照程序Python 入门经典100实例:实例14。

程序源代码:

#?-*-?coding:?UTF-8?-*-
from?sys?import?stdout
for?j?in?range(2,1001):
????k?=?[]
????n?=?-1
????#把j?赋值给s
????s?=?j
????for?i?in?range(1,j):
????????????if?j?%?i?==?0:
????????????????n?+=?1
????????????????#?判断s是否是完数
????????????????s?-=?i
????????????????k.append(i)
????if?s?==?0:
????????print?j
????????for?i?in?range(n):
????????????#?把k列表转换为字符串
????????????stdout.write(str(k[i])??)
????????????stdout.write('?')
????????print?k[n]

输出结果:

6
1?2?3
28
1?2?4?7?14
496
1?2?4?8?16?31?62?124?248


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读