#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; }