1
/**
2
* @param {number} n
3
* @return {number}
4
*/
5
var primePalindrome = function (n) {
6
while (true) {
7
let str = String(n);
8
if (String(n).length % 2 == 0 && n > 11) {
9
n = Math.pow(10, Math.ceil(Math.log10(n + 1)));
10
// or n = 1 + Array(str.length).fill(0).join("")
11
continue;
12
}
13
if (!isPalindrome(str)) {
14
n++;
15
continue;
16
}
17
if (isPrime(n)) return n;
18
n++;
19
}
20
};
21

22
function isPrime(n) {
23
if (n <= 1) return false;
24
if (n <= 3) return true;
25
if (n % 2 == 0 || n % 3 == 0) return false;
26

27
for (let i = 3; i <= Math.floor(Math.sqrt(n)) + 1; i += 2) {
28
if (n % i == 0) return false;
29
}
30
return true;
31
}
32

33
function isPalindrome(str) {
34
let l = 0,
35
r = str.length - 1;
36
while (l < r) {
37
if (str[l] != str[r]) return false;
38
l++;
39
r--;
40
}
41
return true;
42
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0