代码格式如下: def prime(num): ... def monisen(no): … … return xxx print(monisen(int(input()))) # 此处输入由系统自动完成不需要自己输入,只要写这样一条语句即可(3分)
题目内容:
找第n个默尼森数。P是素数且M也是素数,并且满足等式M=2^P-1,则称M为默尼森数。例如,P=5,M=2^P-1=31,5和31都是素数,因此31是默尼森数。
输入格式:
按提示用input()函数输入
输出格式:
int类型
输入样例:
4
输出样例:
127
时间限制:1000ms内存限制:32000kb
一次通过:
# 判断素数(质数)
# 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
def prime(n):
isPrime=True
for i in range(2,n):
if n%i==0:
isPrime=False
return isPrime
import math
def monisen(n):
list=[]
for i in range(2,100):
if len(list)<n:
M=int(math.pow(2,i)-1)
if prime(i) and prime(M):
list.append(M)
else:
break
return list[n-1]
import time
start=time.time()
m=monisen(4)
end=time.time()
print(end-start)