1 条题解
-
0
#include <bits/stdc++.h> using namespace std; using ll = long long; vector<ll> primes; vector<bool> isPrime; void Oula(ll n) { isPrime.resize(n+1, true); isPrime[0] = isPrime[1] = false; for (int i = 2; i <= n; ++i) { if (isPrime[i]) primes.push_back(i); for (int j = 0; j < primes.size() && i * primes[j] <= n; ++j) { isPrime[i*primes[j]] = false; if (i % primes[j] == 0) break; } } } int main() { ios::sync_with_stdio(0), cin.tie(0); ll n, q; cin >> n >> q; Oula(n); while (q--) { int k; cin >> k; cout << primes[k-1] << '\n'; } return 0; }
信息
- ID
- 94
- 时间
- 3000ms
- 内存
- 1024MiB
- 难度
- 9
- 标签
- 递交数
- 428
- 已通过
- 35
- 上传者