2、梅生素数,给出一个计算机程序求前5个梅森素数,python
时间: 2024-09-08 21:02:21 浏览: 54
梅森素数是指形如\(2^p - 1\)(其中p也是素数)的素数,它们以其发现者梅森命名。以下是使用Python编写的一个简单程序,用于寻找前5个梅森素数:
```python
import math
def is_mersenne_prime(p):
"""
检查2的p次方减一是否为素数
"""
candidate = 2 ** p - 1
sqrt_candidate = int(math.sqrt(candidate)) + 1
for divisor in range(3, sqrt_candidate, 2):
if candidate % divisor == 0:
return False
return candidate > 1 # 如果没有找到因子,则是素数
def find_first_n_mersenne_primes(n):
count, current_p = 0, 2
while count < n:
if is_mersenne_prime(current_p):
print(f"The {count + 1}th Mersenne prime is {2**current_p - 1}")
count += 1
current_p += 1
find_first_n_mersenne_primes(5)
阅读全文