用了欧拉筛,全都RE,求求大大们帮助一下本蒟蒻
My Code ⇓
#include<cstdio>
using namespace std;
const int N=1e6;
int prime[N],cnt=0,k[N];
bool vis[N];
void chooseprime(int a){
for(int i=2;i<=a;i++){
if(!vis[i])prime[++cnt]=i;
for(int j=1;j<=cnt&&i*prime[j]<=a;j++){
vis[i*prime[j]]=true;
if(i%prime[j]==0)
break;
}
}
}
int main(){
int n,q;
scanf("%d%d",&n,&q);
for(int i=1;i<=q;i++)
scanf("%d",&k[i]);
chooseprime(n);
for(int i=1;i<=q;i++)
printf("%d\n",prime[k[i]]);
}