在Python中判斷循環素數,可以編寫一個函數來判斷一個數是否為素數,然后再編寫一個函數來判斷一個數是否為循環素數。循環素數是指一個數的所有循環排列都是素數。
以下是一個判斷素數的函數:
def is_prime(n):
if n <= 1:
return False
if n == 2:
return True
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
然后,可以編寫一個函數來判斷一個數是否為循環素數:
from itertools import permutations
def is_circular_prime(n):
if not is_prime(n):
return False
str_n = str(n)
for i in range(len(str_n)):
rotated = int("".join(str_n[i:] + str_n[:i]))
if not is_prime(rotated):
return False
return True
接下來,可以使用這兩個函數來判斷一個數是否為循環素數:
n = 197
if is_circular_prime(n):
print(f"{n} is a circular prime")
else:
print(f"{n} is not a circular prime")
這樣就可以判斷一個數是否為循環素數了。