题解 | 完全数计算
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
# 怎么求一个数的所有约数? def get_divisor(num): divisor = [] # 存储真因子 for i in range(1, num): # 如何优化算法,步长step=? if num % i == 0: # 满足约数的条件 divisor.append(i) return divisor n = int(input()) count = 0 # 完全数的个数 if n == 1: # 边界值1不是完全数 print(count) elif n > 1: for i in range(1, n + 1): # 判断完全数 if sum(get_divisor(i)) == i: count += 1 print(count)