救命!0pts求调!!!
查看原帖
救命!0pts求调!!!
1189047
Creeperawwman楼主2024/5/26 15:34

感觉思路没问题,是不是我遗漏了什么细节???

#include<bits/stdc++.h>
using namespace std;
int n, q;
bool num[100000010];
int Rank[6000000], cnt;
void EiPrime(int x) {
	num[0] = num [1] = 1;
	for (int i = 2; i * i <= x; i++) {
		if (num[i] == 0) {
			Rank[++cnt] = i;
			for (int j = 2; j * i <= x; j++) {
				num[j * i] = 1;
			}
		}
	}
}
int main() {
	scanf("%d %d", &n, &q);
	EiPrime(n);
	while (q--) {
		int t = 0;
		scanf("%d", &t);
		printf("%d\n", Rank[t]);
	}
	return 0;
}
2024/5/26 15:34
加载中...