কম্পিউটার

পাইথনে n-এর বাইনারি আকারে 1s-এর দীর্ঘতম একটানা রান খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের একটি অ-ঋণাত্মক মান n আছে, আমাদের এটির বাইনারি উপস্থাপনায় 1s-এর দীর্ঘতম ক্রমাগত রানের দৈর্ঘ্য খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি n =1469-এর মত হয়, তাহলে আউটপুট হবে 4, কারণ 156-এর বাইনারি উপস্থাপনা হল "10110111101", তাই পরপর চারটি 1s আছে

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

  • গণনা :=0
  • যখন n 0 এর মত নয়, do
    • n :=n এবং n (এক বিট বাম দিকে সরানোর পর)
    • গণনা :=গণনা + 1
  • রিটার্ন গণনা

উদাহরণ

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

def solve(n):
   count = 0
   while n != 0:
      n = n & (n << 1)
      count = count + 1

   return count

n = 1469
print(solve(n))

ইনপুট

1469

আউটপুট

4

  1. পাইথনে একটি বাইনারি গাছের দীর্ঘতম ধারাবাহিক পথের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে বাইনারি গাছের দীর্ঘতম বিকল্প পথের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে একটি বাইনারি গাছের মূল থেকে পাতা পর্যন্ত দীর্ঘতম সমষ্টি পথের যোগফল খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে একটি বাইনারি গাছের দীর্ঘতম এমনকি মান পথ খুঁজে বের করার প্রোগ্রাম