题目描述:
梅森尼数是指 2 的 n 次方减一为素数的数 n 。
求【1,21】内有多少个梅森尼数以及最大的梅森尼数。
实现代码:
def sushu(n): for i in range(2, n): if n % i ==0: return False return True def masonNumber(n): list = [] for i in range(2, n): if sushu(i): if sushu(2**i-1): list.append(2**i-1) return list print (masonNumber(21)) print("最大的梅森尼数为:",max(masonNumber(21)))
运行演示: