每日一学|Python基础训练19

发布者:尹娜发布时间:2025-03-05浏览次数:13

    题目: 一个数如果恰好等于它的因子之和,这个数就称为完数”。例如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)

版权所有 ©三亚学院信息与智能工程学院
地址:海南省三亚市吉阳区学院路191号   电话:0898-88385452
E-mail: iieoffice@163.com
USY信息与智能工程学院官方微信公众号
USY信息与智能工程学院官方抖音号
关闭