কম্পিউটার

শুধুমাত্র পাইথনে এক-বিট অবস্থানে দুটি সংখ্যা আলাদা কিনা তা পরীক্ষা করুন


ধরুন আমাদের x এবং y দুটি সংখ্যা আছে। এই দুটি সংখ্যা এক-বিট অবস্থানে আলাদা কিনা তা আমাদের পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি x =25 y =17 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ বাইনারিতে x =11001 এবং y =10001। শুধুমাত্র এক-বিট অবস্থান ভিন্ন।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • z =x XOR y
  • যদি z-এ সেট বিটের সংখ্যা 1 হয়, তাহলে
    • সত্য ফেরান
  • মিথ্যে ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ কোড

def bit_count(n):
   count = 0
   while n:
      count += n & 1
      n >>= 1
   return count
 
def solve(x, y):
   return bit_count(x ^ y) == 1

x = 25
y = 17
print(solve(x, y))

ইনপুট

25,17

আউটপুট

True

  1. পাইথনে দুটি সংখ্যার ভাজকের যোগফল একই কিনা তা পরীক্ষা করুন

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

  3. পাইথন প্রোগ্রাম a no দুইটির শক্তি কিনা তা খুঁজে বের করতে

  4. একটি স্ট্রিং শুধুমাত্র সংখ্যা রয়েছে কিনা আমরা পাইথনে কিভাবে পরীক্ষা করব?