题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
n = int(input()) # 输入正整数n count = 0 # 完全数的个数,初始值为0 for k in range(2,n+1): # 被除数 sum = 1 # 因子之和,肯定会有1,所以初始值设置为1 for i in range(2,int(k**0.5)+1): # 除数 if k % i == 0: # 如果k%i==0说明i是因子 sum += i # 那么sum加上i if (k/i != i): # 如果k/i!=i,说明k/i是另外一个因子 sum += k/i # sum需要加上另外一个因子 if sum == k: # 每处理一个k之后,核实sum是否等于k count += 1 # 如果sum=k,那么说明k是完全数,count加1 print(count) # 打印完美数count的个数