C++ clean code solution
Intuition\nKeep low at 0 and high at n and check that if low and high are prime simultaneously.\n\n# Complexity\n- Time complexity:\nO(n\u221An)\n\n- Space comp
# Intuition\nKeep low at 0 and high at n and check that if low and high are prime simultaneously.\n\n# Complexity\n- Time complexity:\nO(n\u221An)\n\n- Space complexity:\nO(Prime Pairs)\n\n# Code\n```cpp []\n\n#define endl \'\\n\'\n#define pint pair<int, int>\n#define vint vector<int>\n#define vll vector<long long>\n#define vpint vector<pair<int, int>>\n#define vstr vector<string>\n#define uset unordered_set\n#define umap unordered_map\n#define vbool vector<bool>\n#define vvint vector<vector<int>>\n#define vvvint vector<vector<vector<int>>>\n#define ll long long\n#define MOD 1000000007\n\nclass Solution {\npublic:\n    bool check(int x) {\n        for (int i = 2; i * i <= x; i++)\n            if (x % i == 0)\n                return false;\n\n        return true;\n    }\n\n    vector<vector<int>> findPrimePairs(int n) {\n        int low = 0;\n        int high = n;\n\n        vvint ans;\n\n        while (low <= high) {\n            if (low == 2 && check(n - 2))\n                ans.push_back({2, n - 2});\n\n            else if (low < 2 || low % 2 == 0 || high % 2 == 0) {\n                low++;\n                high--;\n                continue;\n            }\n\n            else if (check(low) && check(high))\n                ans.push_back({low, high});\n\n            low++;\n            high--;\n        }\n\n        return ans;\n    }\n};\n```
['C++']