Cho số n, kiểm tra xem mọi phép xoay của n có phải số nguyên tố không.
Ví dụ, n = 13, đầu ra True (13 và 31 đều nguyên tố).
Các bước giải quyết:
- Chuyển
nthành chuỗi. - Lặp độ dài
nlần:- Nếu
nkhông phải nguyên tố, trả vềFalse. - Xoay:
n = n[1:] + n[0].
- Nếu
- Trả về
True.
Ví dụ minh họa
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