RE求助
查看原帖
RE求助
357641
YyuanDa楼主2021/1/18 19:40
#include<cstdio>
using namespace std;
int n,q,prime[1000005],m;
bool isp[100000005];
int main(){
	scanf("%d%d",&n,&q);
	for(int i=2;i<=n;i++){
		if(isp[i]==0){
			prime[++m]=i;
		}
		for(int j=1;j<=m;j++){
			if(prime[j]>n/i) break;
			isp[i*prime[j]]=1;
			if(i%prime[j]==0) break;
		}
	}
	while(q--){
		int k;
		scanf("%d",&k);
		printf("%d\n",prime[k]);
	}
	return 0;
}
2021/1/18 19:40
加载中...