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
- nếu n không phải là số nguyên tố thì
- 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