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:
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:
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.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics