Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình kiểm tra xem mọi vòng quay của một số có phải là số nguyên tố hay không trong Python

Giả sử chúng ta có một số n, chúng ta phải kiểm tra xem mọi phép quay của n có phải là số nguyên tố hay không.

Vì vậy, nếu đầu vào là n =13, thì đầu ra sẽ là True, vì 13 là số nguyên tố, 31 cũng là số nguyên tố.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • n:=n dưới dạng chuỗi
  • thực hiện một vòng lặp với kích thước n lần, thực hiện
    • nếu n không phải là số nguyên tố thì
      • trả về Sai
    • n:=n [từ chỉ mục 1 đến cuối] ghép ký tự đầu tiên của n
  • trả về True

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

13

Đầu ra

True