LeetCode 2761. 和等于目标值的质数对
对于这题,我们可以利用素数筛将<n的素数筛出,随后同两数之和的做法。
class Solution {
public:vector<vector<int>> findPrimePairs(int n) {vector<vector<int>> ans;if (n < 4) return ans;vector<bool> prime(n + 1, true);prime[0] = prime[1] = false;for (int i = 2; 1LL * i * i <= n; ++i) {if (prime[i]) {for (int j = i * i; j <= n; j += i) {prime[j] = false;}}}for (int x = 2; x <= n / 2; ++x) {int y = n - x;if (prime[x] && prime[y]) {ans.push_back({x, y});}}return ans;}
};