用 Python 编写程序检查某个数字的每次旋转是否为素数

pythonserver side programmingprogramming更新于 2026/1/6 19:56:17

假设我们有一个数字 n,我们必须检查 n 的每次旋转是否为素数。

因此,如果输入为 n = 13,则输出将为 True,因为 13 是素数,31 也是素数。

为了解决这个问题,我们将遵循以下步骤 −

  • n := n as string
  • 执行大小为 n 次的循环,执行
    • 如果 n 不是素数,则
      • 返回 False
    • 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

相关文章


有用资源