题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。