Python编程算法【四十三】梅森素数 环球关注

2023-05-14 20:54:58 来源:哔哩哔哩


(相关资料图)

【案例内容】

梅森数(Mersenne Prime)指的是形如 的正整数,其中指数n是素数,记为如果一个梅森数是素数,则称其为梅森素数。例如: 和  都是梅森素数。但是n=11时,,显然不是梅森素数。

请求出指数n<20的所有梅森素数。

【解题思路】

本题的解答思路:先找出20以内的素数,再通过梅森数的公式,求出结果,若该结果也是一个素数,那么该梅森数就是梅森素数。具体操作是,设定一个判断素数的函数,接着用for循环遍历2~19,找出其中的素数,然后代入 求出结果,最后判断该结果是否为素数,若为素数那就是梅森素数。具体代码如下:

【Python代码】

1722年,瑞士数学大师欧拉证明了  是一个素数,它共有10位数,成为当时世界上已知的最大素数。迄今为止,人们仅发现了47个梅森素数。梅森素数历来都是数论研究中的一项重要内容,也是当今科学探索中的热点和难点问题。

推荐阅读>