#定义一个方法:
# 该数的所有因数相加得其本身则输出1
def yinshu(y):
a=0
for i in range(1,y):
if y%i==0:
a+=i
if a==y:
return 1
else:
return 0
n=int(input())
a0=0
if n<6:
print(0)
#若存在完美数,则a0加1作为记录
for i in range(6,n+1):
if yinshu(i)==1:
a0+=1
print(a0)
计算时间有点长,应该有更好的解法

京公网安备 11010502036488号