কম্পিউটার

দুটি সংখ্যার বাইনারি উপস্থাপনাগুলি পাইথনে অ্যানাগ্রাম কিনা তা পরীক্ষা করুন


ধরুন আমাদের 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

  1. পাইথনে দুটি বাইনারি গাছের পাতার ট্র্যাভার্সাল একই কিনা তা পরীক্ষা করুন

  2. দুটি গাছের সমস্ত স্তর পাইথনে অ্যানাগ্রাম কিনা তা পরীক্ষা করুন

  3. একটি বাইনারি সংখ্যায় K ধারাবাহিক 1 আছে কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম?

  4. দুটি সংখ্যা (m,n) বন্ধুত্বপূর্ণ বা পাইথন ব্যবহার করছে না কিনা তা কীভাবে পরীক্ষা করবেন?