求整形数的许可范围内的梅森素数,要求定义函数prime(n)判断n是否为素数。(假设n是素数,如果2的n次方-1,也是素数,那么2的n次方-1 是梅森素数。例如:n=3,2的3次方-1=7,7是素数,则7是梅森素数。)
时间: 2024-06-03 22:09:48 浏览: 140
一种寻找大素数的简易方法
def prime(n):
if n<2:
return False
for i in range(2,int(n**0.5)+1):
if n%i == 0:
return False
return True
def mersenne_prime(n):
p = 2**n-1
if prime(p):
return p
else:
return None
def range_mersenne_prime(n):
result = []
for i in range(2,n+1):
p = mersenne_prime(i)
if p:
result.append(p)
return result
print(range_mersenne_prime(20)) # 求20以内的梅森素数
阅读全文