求10000以内完美数
说明:完美数又称为完全数或完备数,它的所有的真因子(即除了自身以外的因子)的和(即因子函数)恰好等于它本身。
例如:6()和28()就是完美数。完美数有很多神奇的特性,有兴趣的可以自行了解。
"""
10000以内完美数
说明:完美数又称为完全数或完备数,它的所有的真因子(即除了自身以外的因子)的和(即因子函数)恰好等于它本身。
例如:6($6=1+2+3$)和28($28=1+2+4+7+14$)就是完美数。完美数有很多神奇的特性,有兴趣的可以自行了解。
"""
# 设置一个空列表用于接收符合要求的完美数
wanmei = []
# 遍历1到10000的所有数字
for i in range(1, 10000):
# 设置一个空列表用于接收数字i的所有的整除因子
list_eve = []
for j in range(1, i + 1):
if i % j == 0:
list_eve.append(j)
# 所有整除因子去除数字i本身,list_eve列表变为真因子列表
list_eve.remove(i)
temp_he = 0
for h in list_eve:
temp_he += h
# 真因子列表各项之和等于数字i本身,那么i为完美数,将i加入完美数列表
if temp_he == i:
wanmei.append(i)
# 打印结果
print(wanmei)