线性筛素数#3TLE
查看原帖
线性筛素数#3TLE
282292
966123anyunchuan楼主2020/6/25 00:42
#include<cstdio>
using namespace std;
int n,q,isprime[100000001]={0},prime[1000001],cnt=0;
int main(){
	scanf("%d%d",&n,&q);
	isprime[1]=1;
	for(int i=2;i<=n;i++){
		if(!isprime[i])
		prime[cnt++]=i;
		for(int j=0;j<cnt&&i*prime[j]<100000001;j++){
			isprime[i*prime[j]]=1;
			if(i%prime[j]==0){
				break;
			}
		}
	}
	for(int i=0;i<q;i++){
	int k;
	scanf("%d",&k);
	printf("%d\n",prime[k-1]);
    }
	return 0;
}

用的是欧拉筛,是scanf printf,为何测试点三还是TLE,求助神犇

2020/6/25 00:42
加载中...