【python】找第n个默尼森数
程序员文章站
2022-04-06 16:42:23
...
P是素数且M也是素数,并且满足等式M=2^P-1,则称M为默尼森数。例如,P=5,M=2^P-1=31,5和31都是素数,因此31是默尼森数。
from math import sqrt
def prime(num):
if num == 1:
return False;
if num == 2:
return True;
k = int(sqrt(num))+1
for i in range(2,k):
if num % i == 0:
return False;
return True;
def monisen(no):
k = 0 ;
n = 1;
while(k<no):
n = n+1;
if(prime(n)):
m = 2**n-1
if(prime(m)):
k = k+1;
print(m)
n = int(input())
monisen(n)
上一篇: Python巩固 --Python入门
下一篇: 求教关于Zend Optimizer安装