6,我不理解
查看原帖
6,我不理解
745442
BensonChen楼主2023/10/20 08:21

为啥p数组要开到6e6以上,不然全wa?

#include <bits/stdc++.h>
#define ll long long
using namespace std;
bool pd[101000000];
int T,p[6000007],n,cnt=0;

void getprime(int x){
	memset(pd,true,sizeof(pd));
	pd[0]=pd[1]=false;
	for (int i=2;i<=x;i++){
		if(pd[i]==true)p[++cnt]=i;
		for (int j=1;j<=cnt&&p[j]*i<=x;j++){
			pd[p[j]*i]=false;
			if(i%p[j]==0)break;
		}
	}
}

int main(){
	std::ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>T;
	getprime(n);
	while(T--){
		int a;
		cin>>a;
		cout<<p[a]<<"\n";
	}
	return 0;
}

求解释

2023/10/20 08:21
加载中...