C++ Exercises: Check if a number is Mersenne number or not
C++ Numbers: Exercise-35 with Solution
Write a C++ program to check if a number is a 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?
C++ Programming: Tips of the Day
How do I iterate over the words of a string?
For what it's worth, here's another way to extract tokens from an input string, relying only on standard library facilities. It's an example of the power and elegance behind the design of the STL.
#include <iostream> #include <string> #include <sstream> #include <algorithm> #include <iterator> int main() { using namespace std; string sentence = "And I feel fine..."; istringstream iss(sentence); copy(istream_iterator<string>(iss), istream_iterator<string>(), ostream_iterator<string>(cout, "\n")); } Instead of copying the extracted tokens to an output stream, one could insert them into a container, using the same generic copy algorithm. vector<string> tokens; copy(istream_iterator<string>(iss), istream_iterator<string>(), back_inserter(tokens)); ... or create the vector directly: vector<string> tokens{istream_iterator<string>{iss}, istream_iterator<string>{}};
Ref : https://bit.ly/3un4O6f
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook