欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python进阶练习之——完数

程序员文章站 2022-04-06 15:55:55
...
题目 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=123.编程找出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)

小白练手专栏,适合刚入手的新人欢迎订阅编程小白进阶
有什么不明白的欢迎私信或留言,得到细致讲解。另外想要进阶的朋友可以关注练手项目专栏
python进阶练习之——完数