1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| class Solution:
def primePalindrome(self, N: int) -> int:
if 8 <= N <= 11:
return 11
for x in range(1, 100000):
s = str(x)
r = s[::-1]
y = int(s + r[1:])
if y >= N and self.isPrime(y):
return y
return -1
def isPrime(self, num: int) -> bool:
if num < 2 or num % 2 == 0:
return num == 2
for i in range(3, int(num ** 0.5) + 1, 2):
if num % i == 0:
return False
return True
|