Python求梅森尼数

题目描述:

梅森尼数是指 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)))

运行演示:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42257666/article/details/106770358