道理我都懂,但是为什么一直re???
查看原帖
道理我都懂,但是为什么一直re???
368764
Love_Haruka楼主2024/11/9 19:21

rt

最开始我还以为是用了vector的原因(现数组pri)

结果改了还是不对

不用考虑埃氏筛算法对于此题的正确性,我就是想知道为什么RE/kk

#include<bits/stdc++.h>
using namespace std;
bool prime[100000001];
int pri[100000001];
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0); 
	int n,m;
	cin >> n >> m;
	prime[0]=prime[1]=0;
	int u=0;
	for(int i=2;i<=n;i++)prime[i]=1;
	for(int i=2;i<=n;i++){
		if(prime[i]){
			pri[++u]=i;
			for(long long j=i*i;j<=n;j+=i){
				prime[j]=0;
			}
		}
	}
	for(int i=0;i<m;i++){
		int x;
		cin >> x;
		cout << pri[x] <<"\n"; 
	}
	return 0;
}
2024/11/9 19:21
加载中...