python函数与mersenne数

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)的梅森数是否为素数。您的最终答案应该是一个元组列表,对于您测试的每个梅森数,元组由(梅森指数

尝试在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)的梅森数是否为素数。您的最终答案应该是一个元组列表,对于您测试的每个梅森数,元组由(梅森指数,0)(或1)组成,其中0和1分别是False和True的替换

  • 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))