寻找第n个默尼森数
程序员文章站
2022-05-12 10:41:07
...
寻找第n个默尼森数
题目内容:
找第n个默尼森数。P是素数且M也是素数,并且满足等式M=2P-1,则称M为默尼森数。例如,P=5,M=2P-1=31,5和31都是素数,因此31是默尼森数。
输入格式:
按提示用input()函数输入
输出格式:
int类型
输入样例:
4
输出样例:
127
import math
def prime(num): #判断素数
if num == 1:
return False
elif num == 2 or num == 3:
return True
else:
for i in range(2,int(math.sqrt(num))+1):
if num % i == 0:
return False
return True
def monisen(no): #寻找莫尼森数
n = 0
p = 1
m = 1
while n < no:
p += 1
m = 2 ** p - 1
if prime(p) and prime(m):
n += 1
return m
print(monisen(int(input('Input number:'))))
上一篇: PHP分多步骤填写发布信息的简单方法实例代码_PHP教程
下一篇: Vue.js学习基础概念