# 判断一个数是不是完美数 n = int(input("输入一个自然数:")) # 求出除自身外的所有因数 def get_factors(n): factors = [] for i in range(1, n//2+1): #想想这里的范围为什么是1-n//2+1 if(n % i == 0): factors.append(i) return factors factors = get_factors(n) # 求出所有因数(自身除外)的和 sm = 0 for j in factors: sm += j if(sm == n): print(n, "是完全数") else: print(n, "不是完全数")
settings
unfold_less visibility play_arrow