rt,代码如下
#include<bits/stdc++.h>
using namespace std;
const int maxn=100000000;
int n,q,pri[maxn],vis[maxn];
void prim() {
memset(pri,0,sizeof(pri));
memset(vis,0,sizeof(vis));
for(int i=2; i<=n; i++) {
if(!vis[i])
pri[++pri[0]]=i;
for(int j=1; j<=pri[0]&&i*pri[j]<=n;j++){
vis[i*pri[j]]=1;
if(i%pri[j]==0)
break;
}
}
}
int main() {
scanf("%d %d",&n,&q);
prim();
for(int i=1; i<=q; i++) {
int k;
scanf("%d",&k);
printf("%d \n",pri[k]);
}
return 0;
}