ধরুন আমাদের x এবং y দুটি সংখ্যা আছে আমাদের পরীক্ষা করতে হবে x এবং y এর বাইনারি উপস্থাপনা একে অপরের অ্যানাগ্রাম কিনা।
সুতরাং, যদি ইনপুটটি x =9 y =12 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ 9-এর বাইনারি উপস্থাপনা হল 1001 এবং 12-এর বাইনারি উপস্থাপনা হল 1100, তাই এই দুটি একে অপরের অ্যানাগ্রাম।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- যদি x এবং y তে 1s সংখ্যা একই হয়, তাহলে
- সত্য ফেরান
- মিথ্যে ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
def set_bit_count(num) : cnt = 0 while num: cnt += num & 1 num >>= 1 return cnt def solve(x, y) : if set_bit_count(x) == set_bit_count(y): return True return False x = 9 y = 12 print(solve(x, y))
ইনপুট
9, 12
আউটপুট
True