is this output correct?

i am checking for messene primes.

output:Code:#include <iostream> #include <iomanip> using namespace std; bool IsPrime (long n ); long power2 ( long n ); int main() { char reply; cout << "Mersenne Primes by corey" << endl; cout << endl; cout << "n" << setw(30) << setfill(' ') << "Mersene Prime" << endl; cout << "==" << setw(29) << setfill(' ')<< "=============" << endl; for ( int i = 0; i < 100; i++ ) { if ( IsPrime ( i ) ) power2(i); } cin >> reply; return 0; } bool IsPrime(long n) { int i = 0; int counter = 0; for ( i = 1; i <= n; i++ ) { if ( n % i == 0 ) { counter++; } } if (counter == 2) return true; else return false; } long power2 ( long n ) { cout << n << setw(30) << setfill(' ') << (1L << n) - 1 << endl; return 0; }

thank youCode:Mersenne Primes by corey n Mersene Prime == ============= 2 3 3 7 5 31 7 127 11 2047 13 8191 17 131071 19 524287 23 8388607 29 536870911 31 2147483647 37 31 41 511 43 2047 47 32767 53 2097151 59 134217727 61 536870911 67 7 71 127 73 511 79 32767 83 524287 89 33554431 97 1