w3resource

Java: Check if a number is Mersenne number or not


Check Mersenne Number

Write a program to check if a number is a Mersenne number or not.

In mathematics, a Mersenne number is a number that can be written in the form M(n) = 2n − 1 for some integer n.
The first four Mersenne primes are 3, 7, 31, and 127

Test Data
Input a number: 127

Pictorial Presentation:

Java: Check if a number is Mersenne number or not.


Sample Solution:

Java Code:

import java.util.Scanner;
import java.math.BigInteger;
public class Example22 {

    public static void main(String args[])
    {
        Scanner in = new Scanner(System.in);
        System.out.print("Input a number: ");
        int n = in.nextInt();
        int n1 = n + 1;

        int power = 0;
        int ans = 0;
        for(int i=0;;i++)
        {
            power=(int)Math.pow(2,i);
            if(power>n1)
            {
                break;
            }
            else if(power==n1)
            {
               System.out.println(n+" is a Mersenne number.");
               ans=1;
            }
        }
  if(ans==0)
  {
   System.out.println(n+" is not a Mersenne number.");
  }
    }
}

Sample Output:

Input a number: 127                                                                                           
127 is a Mersenne number. 

Flowchart:

Flowchart: Check if a number is Mersenne number or not


For more Practice: Solve these Related Problems:

  • Write a Java program to check if a number is a Mersenne number by verifying if it can be written as 2^n - 1 using bitwise operations.
  • Write a Java program to generate Mersenne numbers up to a given limit and check each for primality.
  • Write a Java program to determine the value of n for which a given number equals 2^n - 1 using logarithms.
  • Write a Java program to compare a given number with the nearest Mersenne number by computing powers of 2 iteratively.

Go to:


PREV : Ramanujan Numbers.
NEXT : Narcissistic Numbers Between 1 and 1000.

Java Code Editor:

Contribute your code and comments through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.