埃筛超时求助!
查看原帖
埃筛超时求助!
541408
Lvyuze楼主2021/11/7 09:10
#include<cstdio>
#include<cmath>
using namespace std;
int n,q,w[100000010],z[100000010];
int pr[100000010];
void prime(int a){
	for(int i=2;i<=a;i++){
		if(pr[i]==0){
			for(int j=2;i*j<=n;j++){
				pr[i*j]=1;
			}
		}
	}
} 
int main(){
pr[1]=1;
scanf("%d%d",&n,&q);
prime(n);
for(int i=1;i<=q;i++) scanf("%d",&w[i]);
int t=1;
for(int i=2;i<=n;i++){
	if(pr[i]==0){
		z[t]=i;
		t++;
	}
}
for(int i=1;i<=q;i++) printf("%d\n",z[w[i]]);
return 0;
}
2021/11/7 09:10
加载中...