程序来检查数字的每个旋转是否在Python中为质数
假设我们有一个数字n,我们必须检查n的每个旋转是否为质数。
因此,如果输入像n=13,则输出将为True,因为13是质数,31也是质数。
为了解决这个问题,我们将遵循以下步骤-
n:=n作为字符串
做一个n次循环,做
返回False
如果n不是素数,则
n:=n[从索引1到结尾]连接n的第一个字符
返回True
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, n):
def is_prime(n):
if n<=1: return False
return not any(n%2==0 or n%i==0 for i in range(3,int(n**0.5)+1,2))
n = str(n)
for _ in range(len(n)):
if not is_prime(int(n)):
return False
n = n[1:] + n[0]
return True
ob = Solution()
print(ob.solve(13))输入项
13
输出结果
True