1class Solution {2public:3bool isPrime(int N) {4if (N < 2) return false;5int R = (int)sqrt(N);6for (int d = 2; d <= R; ++d)7if (N % d == 0) return false;8return true;9}1011public:12int reverse(int N) {13int ans = 0;14while (N > 0) {15ans = 10 * ans + (N % 10);16N /= 10;17}18return ans;19}2021public:22int primePalindrome(int n) {23while (true) {24if (n == reverse(n) && isPrime(n)) return n;25n++;2627// Any even length palindrome must be divisble by 1128// so we will skip numbers N = [10,000,000, 99,999,999]29if (10000000 < n && n < 100000000) n = 100000000;30}31}32};