首页 > 编程 > Python > 正文

Python实现的寻找前5个默尼森数算法示例

2020-01-04 15:25:43
字体:
来源:转载
供稿:网友

本文实例讲述了Python实现的寻找前5个默尼森数算法。分享给大家供大家参考,具体如下:

找前5个默尼森数。

若P是素数且M也是素数,并且满足等式M=2**P-1,则称M为默尼森数。例如,P=5,M=2**P-1=31,5和31都是素数,因此31是默尼森数。

python2代码如下:

from math import sqrt def isPrime(n):  'judge whether a positive integer is a prime number!'  if n==1:    return False  k=int(sqrt(n))  for i in range(2,k+1):    if n%i==0:      return False  return Truedef getMonisen(n):  count=0  l=[]  P=2#最小的素数是2,因此P初值为2  while True:    if isPrime(P):      M=2**P-1      if isPrime(M):        l.append(M)        count+=1        if count==n:          break    P+=1  return ll=getMonisen(5)print l

运行程序,结果如下:

[3, 7, 31, 127, 8191]

希望本文所述对大家Python程序设计有所帮助。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表