全WA
查看原帖
全WA
1080250
littleFond楼主2024/9/6 18:21
#include<bits/stdc++.h>
#define int long long
#define double long double
using namespace std;
bool isprime[1145144];//false为质数
int prime[1145144];
int n;
int q;
int cnt;
void f(){
	isprime[0]=true;
	isprime[1]=true;
	for(int i=2;i<=n;i++){
		if(!isprime[i])prime[++cnt]=i;
		for(int j=1;j<=cnt&&i*prime[j]<=n;j++){
			isprime[i*prime[j]]=true;
			if(i%prime[j]==0)break;
		}
	} 
} 
signed main(){
	cin>>n>>q;
	f();
	while(q--){
		int a;
		scanf("%lld",&a);
		printf("%lld\n",prime[a-1]);
	}
	return 0;
}
2024/9/6 18:21
加载中...