一、题目
二、示例
三、代码
def find_factor(num):
if num == 1:
return False
list1 = []
for i in range(1,num):
if num % i == 0:
list1.append(i)
return list1
while True:
try:
n = int(input())
result = 0
for j in range(2, n+1):
if sum(find_factor(j)) == j:
result += 1
print(result)
except:
break
四、算法说明
建立子函数find_factor(num)
,用来寻找num
的真因子,返回真因子列表;
当输入 1,输出为 0,因此在主函数的循环中直接考虑这种情况,而在find_factor(num)
函数中直接无返回处理;
判断符合题目条件的完美数,打印输出。
胡萝卜
2022年1月20日16:03:32
我不知道将去向何方,但我已在路上! |
---|
时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! |