C++ Exercises: Check if a number is Mersenne number or not
C++ Numbers: Exercise-35 with Solution
Write a program in C++ to check if a number is Mersenne number or not.
Sample Solution:
C++ Code :
# include <iostream>
# include <math.h>
using namespace std;
int main()
{
int n,p,ans,i,n1;
double result;
cout << "\n\n Check whether a given number is Mersenne number or not:\n";
cout << "------------------------------------------------------------\n";
cout << " Input a number: ";
cin>>n;
n1=n+1;
p = 0;
ans = 0;
for(i=0;;i++)
{
p=(int)pow(2,i);
if(p>n1)
{
break;
}
else if(p==n1)
{
cout<<" "<<n<<" is a Mersenne number."<<endl;
ans=1;
}
}
if(ans==0)
{
cout<<" "<<n<<" is not a Mersenne number."<<endl;
}
}
Sample Output:
Check whether a given number is Mersenne number or not: ------------------------------------------------------------ Input a number: 31 31 is a Mersenne number.
Flowchart:
C++ Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a program in C++ 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 program in C++ to generate Mersenne primes within a range of numbers.
What is the difficulty level of this exercise?