题解 | #完全数计算#
完全数计算
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)