题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
import sys
N = int(input())
output = 0
# 迭代2到n,num
# 依次判断是否是完美数
for num in range(3, N+1):
# 迭代2 到 n // 2,submulti
submulti_sum = 0
for submulti in range(1, num // 2 + 1):
# 依次判断是否为约数
# 并实时地累计约数,即submulti_sum
if num % submulti == 0:
submulti_sum += submulti
else:
continue
# 当prime_sum大于本身数字num时
if submulti_sum > num:
break
# 判断prime_sum与num的比值
# 如果prime_sum 等于 num:
if submulti_sum == num:
output += 1
print(output)

查看10道真题和解析
