在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")
这样就可以判断一个数是否为循环素数了。