#include <bits/stdc++.h>
using namespace std;
/**
梅森数是指形如(2n−1)(2^n-1)(2n−1)的数,
而如果一个梅森数恰好又是素数的话,那么称他为梅森素数。请输出前五个梅森素数。
**/
int mss(int n){ //计算2^n -1
int res = (1 << n) - 1;
//类似于 pow(2, n) - 1
return res;
}
bool prime(int n){ // 判断素数
if( n < 2) return false;
for(int i = 2; i <= n / i; i++)
if(!(n % i )) return false;
return true;
}
int main(){
int cnt = 0;
for(int i = 1; cnt < 5 ; i++){
int res = mss(i);
if(prime(res)){
cout << res <<" ";
cnt++;
}
}
return 0;
}

京公网安备 11010502036488号