from sympy import isprime
def cyclically_rotate_left(n) :
m = n
p = 1
while (m >= 10) :
p *= 10
m /= 10
return int((m + 10 * (n % p)))
def is_circular_prime(n) :
if (not isprime(n)) :
return False
rotated_n = cyclically_rotate_left(n)
while (rotated_n != n) :
if (rotated_n < n or not isprime(rotated_n)) :
return False
rotated_n = cyclically_rotate_left(rotated_n)
return True
n = 2
i = 0
while (i < 18) :
if (is_circular_prime(n)) :
if (i > 0) :
print(", ", end ="")
print(n, end ="")
i += 1
n += 1
'''
run:
2, 3, 5, 7, 11, 13, 17, 37, 79, 113, 197, 199, 337, 1193, 3779, 11939, 19937, 193939
'''