【Python3练习题 014】 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程找出1000以内的所有完数。

a、b只要数字a能被数字b整除,不论b是不是质数,都算是a的因子。比如:8的质因子是 2, 2, 2,但8的因子就包括 1,2,4。

import math
 
for i in range(2, 1000):
    factors = []  #因子列表,i 每次循环都清空
    for j in range(1, math.floor(i/2)+1):
        if i%j == 0:
            factors.append(j)
    if sum(factors) == i:
        print(i, end=',')

输出结果如下:

6,28,496,

逆风的方向更适合飞翔,不怕千万人阻挡,只怕自己投降!
原文地址:https://www.cnblogs.com/jackzz/p/9125377.html