Cho chuỗi s. Kiểm tra xem tần suất xuất hiện của MỖI ký tự trong s có phải số nguyên tố hay không.
Ví dụ: s="apuuppa" → a:2, p:3, u:2 (cả 3 đều nguyên tố) → True.
Thuật toán
- Dùng
defaultdict(int)đếm tần suất. - Duyệt dict, nếu tần suất > 0 và không phải nguyên tố → False.
- Trả về True.
Ví dụ code
from collections import defaultdict
def isPrime(num):
if num > 1:
for i in range(2, num):
if num % i == 0:
return False
return True
return False
def solve(s):
freq = defaultdict(int)
for ch in s:
freq[ch] += 1
for char in freq:
if freq[char] > 0 and not isPrime(freq[char]):
return False
return True
s = "apuuppa"
print(solve(s))
Đầu vào
"apuuppa"
Đầu ra
True