为什么总是编译失败
查看原帖
为什么总是编译失败
1497053
Featherwit022楼主2024/12/9 19:51
#include<iostream>
#include<cstdio> 
using namespace std;
bool isPrime[100000005]={1,1};
int prime[10000005],n,q,top;
void fun(){
	for(int i=2;i<=n;++i){
		if(!isPrime[i])prime[++top]=i;
		for(int j=1;j<=top;++j){
			if(i*prime[j]>n)break;
			isPrime[i*prime[j]]=1;
			if(i%prime[j]==0)break;
		}
	}
}
int main(){
	scanf("%d %d",&n,&q);
	int k;
	fun();
	while(q-->0){
		scanf("%d",&k);
		printf("%d\n",prime[k]);
	}
	return 0;
}
2024/12/9 19:51
加载中...