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