<span style="color: rgb(51, 51, 51); font-family: Arial, 'Hiragino Sans GB', SimSun, 宋体, serif; font-size: 14px; font-weight: bold; line-height: 24px; white-space: pre-wrap; background-color: rgb(255, 255, 255);">寻找第n个默尼森数。</span>
代码格式如下:
def prime(num):
...
def monisen(no):
… …
return xxx
print monisen(input()) #此处不需要自己输入,只要写这样一条语句即可,主要完成monisen()函数
# print(monisen(int(input()))) in Python 3.x(5分)
题目内容:找第n个默尼森数。P是素数且M也是素数,并且满足等式M=2**P-1,则称M为默尼森数。例如,P=5,M=2**P-1=31,5和31都是素数,因此31是默尼森数。
输入格式:用input()函数输入,注意如果Python 3中此函数的返回类型
输出格式:int类型
输入样例:4
输出样例:127
时间限制:500ms内存限制:32000kb
from math import sqrt
def prime(num):
k=int(sqrt(num))
for i in range(2,k+1):
if num%i==0:
return False
return True
def monisen(no):
j=0
i=2
while(j!=no):
if prime(i):
M=2**i-1
if prime(M):
j+=1
i+=1
else:
return M
print monisen(input())