简单一点写成一个程序,梅森数
时间: 2024-10-11 14:07:13 浏览: 67
c代码-梅森数 梅森数
梅森数是一个特殊的素数,它只包含数字2。梅森数可以表示为 \(M_n = 2^{2^n} + 1\) 的形式,其中n是非负整数。例如,梅森数\(M_2 = 2^{2^2} + 1 = 17\) 就是一个素数。
下面是一个简单的Python程序,用于检查给定数值是否为梅森数:
```python
def is_mersenne_number(n):
# 计算M_n
mersenne_candidate = (2 ** (2**n)) + 1
# 检查候选数是否为素数
if is_prime(mersenne_candidate):
return True
else:
return False
def is_prime(num):
if num <= 1:
return False
elif num == 2:
return True
else:
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 测试梅森数
n = input("请输入一个非负整数:")
try:
n = int(n)
if is_mersenne_number(n):
print(f"M_{n} 是梅森数")
else:
print(f"M_{n} 不是梅森数")
except ValueError:
print("输入无效,请输入一个非负整数")
阅读全文