w3resource

Java: Check if a number is Mersenne number or not

Java Numbers: Exercise-22 with Solution

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

Java Code Editor:

Contribute your code and comments through Disqus.

Previous: Write java program to find any number between 1 and n that can be expressed as the sum of two cubes in two (or more) different ways.
Next: Write a Java program to find all the narcissistic numbers between 1 and 1000.

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.