全 RE 求助
查看原帖
全 RE 求助
1173109
OrientDragon楼主2025/1/13 20:55
#include<bits/stdc++.h>
using namespace std;

const int M=1e6+5,N=1e8+5;
int n,q,cnt,primes[M];
bool vis[N];

void init(int x){
	for(int i=2;i<=x;i++){
		if(!vis[i])primes[++cnt]=i;
		for(int j=1;j<=cnt&&1ll*i*primes[j]<=x;j++){
			vis[1ll*i*primes[j]]=1;
			if(1ll*i%primes[j]==0)break;
		}
	}
}

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	cin>>n>>q;
	init(n); 
	while(q--){
		int k;
		cin>>k;
		cout<<primes[k]<<'\n';
	}
}

RT

2025/1/13 20:55
加载中...