如题
#include<bits/stdc++.h>
using namespace std;
vector<int> zs;
const int MAXN = 1e8+10;
bool num[MAXN];
int main(){
int x;
for(int i = 0;i < MAXN;i++){
x = i+2;
if(!num[x]){
zs.push_back(x);
}
for(int j = 0;j < zs.size();j++){
if(zs[j]*x > MAXN){
break;
}
num[zs[j]*x] = true;
if(x%zs[j] == 0){
break;
}
}
}
int q,n;
cin >> n >> q;
for(int i = 0;i < q;i++){
cin >> n;
cout << zs[n-1] << endl;
}
return 0;
}