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)))

運行演示:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章