Problem 525. Mersenne Primes
A Mersenne prime is a prime number of the form M = 2^p - 1, where p is another prime number. For example, 31 is a Mersenne prime because 31 = 2^5 - 1 and both 31 and 5 are prime numbers.
Implement the function isMersenne(x) so that it returns true if x is a Mersenne prime and false otherwise. Your solution should work for all positive integer values of x less than 1,000,000,000 (one billion).
Solution Stats
Problem Comments
-
4 Comments
Show
1 older comment
John D'Errico
on 22 Feb 2018
No. 2047 is not a Mersenne prime. 2047=23*89, even though it is true that 2047=2^11-1.
Minh-Khoi LE
on 22 Feb 2022
Some correct solutions are not logically correct, the test case must be fixed
Brandon
on 30 May 2023
You need not specify that p is prime in the formula M = 2^p - 1 as it is redundant to do so.
Solution Comments
Show commentsGroup

Basics - Prime Numbers
- 10 Problems
- 435 Finishers
- Project Euler: Problem 7, Nth prime
- The Goldbach Conjecture
- Mersenne Primes vs. All Primes
- Circular Primes (based on Project Euler, problem 35)
- Sophie Germain prime
- Find nearest prime number less than input number
- Mersenne Primes
- Largest Twin Primes
- Make a vector of prime numbers
- Find the next prime number
Problem Recent Solvers839
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!