কম্পিউটার

বাইনারি উপস্থাপনা সহ সবচেয়ে বড় সংখ্যা হল C++ এ m 1 এবং m-1 0


এই টিউটোরিয়ালে, আমরা এমন একটি প্রোগ্রাম লিখতে যাচ্ছি যা m 1 এবং m - 1 0 এর সাথে সবচেয়ে বড় সংখ্যা খুঁজে বের করে।

আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷

  • দুটি ভেরিয়েবল বিট এবং ফলাফল যথাক্রমে 2 এবং 1 দিয়ে শুরু করুন।
  • একটি লুপ লিখুন যা 1 থেকে n পর্যন্ত পুনরাবৃত্তি করে।
    • pow(2, bits) - 1) * (pow(2, bits - 1) দিয়ে পুনরাবৃত্তিকারী পরিবর্তনশীল মান আপডেট করুন।
    • যদি পুনরাবৃত্তিমূলক ভেরিয়েবলটি n-এর থেকে কম হয়, তাহলে i দিয়ে ফলাফল আপডেট করুন।
    • বিট সংখ্যা বৃদ্ধি করুন।
  • রিটার্ন রিটার্ন।

উদাহরণ

আসুন কোডটি দেখি।

#include <bits/stdc++.h>
using namespace std;
long long getTheNumber(long long n) {
   long bits = 2;
   long long result = 1;
   long long i = 1;
   while (i < n) {
      i = (int)(pow(2, bits) - 1) * (pow(2, bits - 1));
      if (i < n) {
         result = i;
      }
      bits++;
   }
   return result;
}
int main() {
   long long n = 654;
   cout << getTheNumber(n) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

496

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


  1. C++ এ একটি সংখ্যার বাইনারি উপস্থাপনায় দৈর্ঘ্যের পরপর 1s>=n খুঁজুন

  2. C++ এ পূর্ববর্তী সংখ্যার বাইনারি উপস্থাপনা

  3. C++ এ পরবর্তী সংখ্যার বাইনারি উপস্থাপনা

  4. C++ এ একটি প্রদত্ত সংখ্যার বাইনারি উপস্থাপনা