在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")
这样就可以判断一个数是否为循环素数了。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:python怎么用for循环判断素数