ধরুন আমরা একটি স্ট্রিং s আছে. আমাদের পরীক্ষা করতে হবে s-এর প্রতিটি অক্ষরের উপস্থিতি প্রাইম কি না
সুতরাং, যদি ইনপুটটি s ="apuuppa" এর মত হয়, তাহলে আউটপুটটি True হবে কারণ দুটি 'a', তিনটি 'p' এবং দুটি 'u' রয়েছে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- freq :=সমস্ত অক্ষর এবং তাদের ফ্রিকোয়েন্সি সম্বলিত একটি মানচিত্র
- ফ্রিকে প্রতিটি অক্ষরের জন্য, করুন
- যদি freq[char]> 0 এবং freq[char] প্রাইম না হয়, তাহলে
- মিথ্যে ফেরত দিন
- যদি freq[char]> 0 এবং freq[char] প্রাইম না হয়, তাহলে
- সত্য ফেরান
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ কোড
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))
ইনপুট
"apuuppa"
আউটপুট
True