#定义一个方法: # 该数的所有因数相加得其本身则输出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)
计算时间有点长,应该有更好的解法
#定义一个方法: # 该数的所有因数相加得其本身则输出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)
计算时间有点长,应该有更好的解法