Giả sử chúng ta có một chuỗi s. Chúng ta phải kiểm tra xem các lần xuất hiện của mỗi ký tự trong s có phải là số nguyên tố hay không
Vì vậy, nếu đầu vào là s ="apuuppa", thì đầu ra sẽ là Đúng vì có hai 'a, ba' p và hai 'u.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- freq:=một bản đồ chứa tất cả các ký tự và tần số của chúng
- đối với mỗi ký tự trong freq, hãy thực hiện
- nếu freq [char]> 0 và freq [char] không phải là số nguyên tố, thì
- trả về Sai
- nếu freq [char]> 0 và freq [char] 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 -
Mã mẫu
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 i in range(len(s)): freq[s[i]] += 1 for char in freq: if freq[char] > 0 and isPrime(freq[char]) == False: return False return True s = "apuuppa" print(solve(s))
Đầu vào
"apuuppa"
Đầu ra
True