Учитывая целое число n (1 <= n <= 300), код должен возвращать n-й Палиндроми c Prime. </p>
Я написал приведенный ниже блок кода для достижения вышеуказанного, но для жизнь меня я не могу понять, почему мой код не выводит заданное ожидаемое значение. На самом деле я даже не знаю, ошибочен ли мой код или данное ожидаемое значение просто бычье. Был бы очень признателен за руководство.
Ожидаемый результат : symricPrime2 (72) возвращает 70507
Фактический результат : symricPrime2 (72) возвращает 30103
def symmetricPrime2(n,candidate=2):
primes = [2]
counter = 1
while True:
i = 0
prep = 0
candidate = candidate + 1
candidate_sr = str(candidate)
#test if candidate is prime
for prime in primes:
if candidate%prime == 0:
prep += 1
#test if candidate is palindromic
candidate_sr_rev = candidate_sr[len(candidate_sr)::-1]
if prep == 0 and candidate_sr == candidate_sr_rev:
primes.append(candidate)
if len(primes) == n:
break
return primes[-1]