代码格式如下:
def prime(num):
…
def monisen(no):
… …
return xxx
print(monisen(int(input()))) # 此处输入由系统自动完成不需要自己输入,只要写这样一条语句即可(3分)
题目内容:
找第n个默尼森数。P是素数且M也是素数,并且满足等式M=2P-1,则称M为默尼森数。例如,P=5,M=2P-1=31,5和31都是素数,因此31是默尼森数。
输入格式:
按提示用input()函数输入
输出格式:
int类型
输入样例:
4
输出样例:
127
def prime(num): # 检验素数
k = int(pow(num,0.5))
flag = 1
for i in range(2,k+1):
if num % i ==0:
return False
break
if flag:
return True
def monisen(no):
i = 1
primeno = 3 # 因为3是第一个默尼森数,就从3开始算起
while i <no:
if prime(primeno) and prime(2**primeno-1):
i +=1
primeno+=2
return 2**(primeno-2)-1
print(monisen(int(input())))