题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
import sys
# for line in sys.stdin:
# a = line.split()
# print(int(a[0]) + int(a[1]))
# 确定约数并将除去它本身外的其他五个数相加之和判断是否等于它本身
while True:
try:
n = int(input())
num = 0
bsum = 0
for i in range(2,n): # 注意不能从0开始,因为任何数/0没有意义;
# 也不能从1开始,因为1也不是完全数,但是满足判断
bsum = 0 # bsum=0应该放在第二个for循环之前,因为要累计;
for j in range(1,int(i**0.5)+1): # i**0.5:'float' object cannot be interpreted as an integer
if i % j == 0 :
bsum = bsum + j
if j != 1:
bsum = bsum + int(i/j)
if bsum == i :
num = num+1
print(num)
except:
break
OPPO公司福利 1202人发布