AcWing 3614. 梅森素数
原题链接
简单
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int,int>;
const int N = 1e6+10;
int t,n,m,k,l,r,op,x,y;
int f[N];
bool flag;
int cnt;
bool isPrime(int x){
if(x<2)return false;
int t = sqrt(x);
for(int i = 2;i<=t;i++){
if(x%i==0)return false;
}
return true;
}
void solve(){
cin>>n;
for(int i = 1;i<32;i++){
if(isPrime(i)){
x = (1<<i) - 1;
if(n<x){
return;
}
if(isPrime(x)){
cout<<"M("<<i<<")="<<x<<"\n";
}
}
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// cout<<isPrime(31);
solve();
return 0;
}