#include<bits/stdc++.h>
using namespace std;
const int m=1e8;
bool vis[m];
int n,q,ans[m],a[m],c=0;
void fun(int n){
for(int i=2;i<=n;i++){
if(vis[i]==0){
ans[c]=i;
c++;
}
for(int j=0;j<c;j++){
if(i*ans[j]>n) break;
else vis[i*ans[j]]=1;
if(i%ans[j]==0) break;
}
}
}
int main(){
ios::sync_with_stdio(0);
cin>>n>>q;
for(int i=0;i<q;i++){
cin>>a[i];
}
fun(n);
for(int i=0;i<q;i++){
cout<<ans[a[i]-1]<<endl;
}
return 0;
}
线性筛素数
最新推荐文章于 2023-11-27 18:54:31 发布