AcWing 3529. 连续合数段
原题链接
简单
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int,int>;
const int N = 1e4+10;
int t,n,m,k,l,r,op,x,y,cnt,maxi;
bool g[N];
void solve(){
t = sqrt(N);
for(int i = 2;i<=t;i++){
if(g[i])continue;
for(int j = i*i;j<=N;j+=i){
g[j] = true;
}
}
// for(int i = 1;i<=20;i++){
// cout<<g[i]<<" ";
// }
cin>>l>>r;
for(int i = l;i<=r+1;i++){
if(i!=r+1 && g[i]){
cnt++;
}else{
if(cnt>maxi){
maxi = cnt;
x = i-1;
}
cnt = 0;
}
}
for(int i = 1;i<=maxi;i++){
cout<<(x-maxi+i)<<" ";
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
solve();
return 0;
}