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