全RE求助,欧拉筛,数组开到10e8
查看原帖
全RE求助,欧拉筛,数组开到10e8
738230
chenmo2008楼主2023/10/29 16:28

如题

#include<bits/stdc++.h>
using namespace std;
vector<int> zs;
const int MAXN = 1e8+10;
bool num[MAXN];
int main(){
	int x;
	for(int i = 0;i < MAXN;i++){
		x = i+2;
		if(!num[x]){
			zs.push_back(x);
		}
		for(int j = 0;j < zs.size();j++){
			if(zs[j]*x > MAXN){
				break;
			}
			num[zs[j]*x] = true;
			if(x%zs[j] == 0){
				break;
			}
		}
	}
	int q,n;
	cin >> n >> q;
	for(int i = 0;i < q;i++){
		cin >> n;
		cout << zs[n-1] << endl;
	}
	return 0;
}
2023/10/29 16:28
加载中...