def is_perfect_number(num):
# 计算num的所有真因子的和
factor_sum = sum([x for x in range(1, num) if num % x == 0])
# 判断num是否为完美数
if factor_sum == num:
return True
else:
return False
# 在范围内查找完美数
perfect_numbers = []
for i in range(1, 10001):
if is_perfect_number(i):
perfect_numbers.append(i)
print("10000以内的完美数:")
print(perfect_numbers)
【Python】完美数
最新推荐文章于 2024-07-08 21:51:03 发布