python函数与mersenne数
尝试在python中执行此操作,但出现错误:python函数与mersenne数,python,function,primes,Python,Function,Primes,尝试在python中执行此操作,但出现错误: 编写一个函数,该函数接受指数p并返回3到65之间的对应梅森数 编写一个函数,该函数接受梅森数的指数p,并将Lucas-Lehmer序列返回到i=p−2名(含) 对于给定的指数为p的Mersenne数,如果Lucas-Lehmer级数在p处为0,则该数为素数−2.编写一个函数,测试指数为p的梅森数是否为素数。测试素数p在3和65之间(即3,5,7,…,61)的梅森数是否为素数。您的最终答案应该是一个元组列表,对于您测试的每个梅森数,元组由(梅森指数
def是素数(数字):
如果数字回答第一个问题:
def mersenne_number(p):
new_list = []
for number in p:
temp = (2**number - 1)
new_list.append(temp)
return new_list
def is_prime(number):
if number<2:
return False
for factor in range(2, number):
if number % factor == 0:
return False
return True
def get_primes(n_start, n_end):
my_list = []
for number in range(n_start, n_end):
if is_prime(number):
my_list.append(number)
return my_list
mersennes = mersenne_number(get_primes(3,65))
def mersenne_编号(p):
新列表=[]
对于p中的数字:
温度=(2**编号-1)
新列表追加(临时)
返回新列表
def是_素数(数字):
如果是数字,请添加您已经编写的代码。如何添加代码?完成,请查看,但我只想列出3到65之间的素数“编写一个接受指数p的函数”-此函数在哪里?不需要检查范围(2,数字),可以限制为范围(2,math.sqrt(数字))
def mersenne_number(p):
new_list = []
for number in p:
temp = (2**number - 1)
new_list.append(temp)
return new_list
def is_prime(number):
if number<2:
return False
for factor in range(2, number):
if number % factor == 0:
return False
return True
def get_primes(n_start, n_end):
my_list = []
for number in range(n_start, n_end):
if is_prime(number):
my_list.append(number)
return my_list
mersennes = mersenne_number(get_primes(3,65))