发布于2021-07-25 06:42 阅读(997) 评论(0) 点赞(3) 收藏(1)
题目 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
程序分析 将每一对因子加进集合,在这个过程中已经自动去重。最后的结果要求不计算其本身。
def factor(num):
target=int(num)
res=set()
for i in range(1,num):
if num%i==0:
res.add(i)
res.add(num/i)
return res
for i in range(2,1001):
if i==sum(factor(i))-i:
print(i)
小白练手专栏,适合刚入手的新人欢迎订阅编程小白进阶
有什么不明白的欢迎私信或留言,得到细致讲解。另外想要进阶的朋友可以关注练手项目专栏
作者:woshidakeai
链接:http://www.pythonpdf.com/blog/article/421/d629f3e6ea7b263a07d8/
来源:编程知识网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!