0

A Mersenne number is any number that can be written as 2^p−1 for some p . For example, 3 is a Mersenne number ( 2^2-1 ) as is 31 ( 2^5-1 ). We will see later on that it is easy to test if Mersenne numbers are prime.

Write a function that accepts an exponent pp and returns the corresponding Mersenne number.

Ans- def mersenne_number(p): m_number =(2**p)-1 Mersenne numbers can only be prime if their exponent, pp , is prime. Make a list of the Mersenne numbers for all primes pp between 3 and 65 (there should be 17 of them). def is_prime(number): if number <= 1: return False

for factor in range(2, number):
    if number % factor == 0:
        return False

return True

def get_primes(n_start, n_end):
 for number in range(n_start, n_end):
   if is_prime(number):
     mersenne_number(number)
 mersennes =get_primes(3,65)   

The next cell shows a dummy solution, a list of 17 sevens. Alter the next cell to make use of the functions you've defined above to create the appropriate list of Mersenne numbers. SO HOW TO MAKE THE LIST OF MERSENNE NUMBERS???

2 Answers 2

1

A Mersenne number is any number that can be written as 2^p−1 for some p.

def mersenne_number(p):
    return ((2**p)-1)
Sign up to request clarification or add additional context in comments.

Comments

0
def mersenne_number(p):
    return ((2**p)-1)

def is_prime(number):
    if number <= 1: 
        return False
    for factor in range(2, number):
        if number % factor == 0:
            return False
    return True
    
list_ = []
def get_primes(n_start, n_end):
    for number in range(n_start, n_end):
        if is_prime(number):
            list_.append(mersenne_number(number))
    return list_
mersennes =get_primes(3,65)

1 Comment

Thank you for contributing an answer. Would you kindly edit your answer to to include an explanation of your code? That will help future readers better understand what is going on, and especially those members of the community who are new to the language and struggling to understand the concepts.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.