【寻找第n个默尼森数】
题目内容:
找第n个默尼森数。P是素数且M也是素数,并且满足等式M=2P-1,则称M为默尼森数。例如,P=5,M=2P-1=31,5和31都是素数,因此31是默尼森数。
输入格式:按提示用input()函数输入。
输出格式:共一行,为一个数。
输入样例:
4
输出样例:
127
import math
#判断素数
def prime(num):
sqr=math.sqrt(num)
k=(int)(sqr)
for i in range(2,k+1):
if num%i==0:
return False
return True
def monisen(no):
#记录个数
cou=0
while cou<no:
for i in range(2,1000000):
if(prime(i) and prime(2**i-1)):
cou=cou+1
if(cou==no):
return 2**i-1
x=int(input(""))
print(monisen(x))