কম্পিউটার

C++ এ অনুমোদিত এক অদলবদল সহ সবচেয়ে বড় সংখ্যা


এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যেটি একক অদলবদল করে সবচেয়ে বড় সংখ্যা খুঁজে বের করে।

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

  • সংখ্যা n শুরু করুন।
  • পূর্ণসংখ্যাকে স্ট্রিং-এ রূপান্তর করুন।
  • একটি লুপ লিখুন যা স্ট্রিং এর শেষ থেকে পুনরাবৃত্তি হয়।
    • সর্বোচ্চ সংখ্যা এবং সূচক খুঁজুন।
    • যদি বর্তমান সংখ্যা সর্বাধিক সংখ্যার চেয়ে কম হয়, তাহলে বর্তমান সূচকের সাথে শুরু সূচক এবং সর্বাধিক অঙ্কের সূচকের সাথে শেষ সূচক আপডেট করুন।
  • যদি স্টার্ট ইনডেক্স হয় -1, তাহলে n রিটার্ন করুন।
  • অন্যথায় শুরু এবং শেষ সূচীতে অঙ্কগুলি অদলবদল করুন।
  • রূপান্তর করে পূর্ণসংখ্যা ফেরত দিন।

উদাহরণ

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

#include <bits/stdc++.h>
using namespace std;
int getLargestNumber(int n) {
   int maxDigit = -1;
   int maxDigitIndex = -1;
   int startIndex = -1;
   int endIndex = -1;
   string nInStr = to_string(n);
   for (int i = nInStr.size() - 1; i >= 0; i--) {
      if (nInStr[i] > maxDigit) {
         maxDigit = nInStr[i];
         maxDigitIndex = i;
         continue;
      }
      if (nInStr[i] < maxDigit) {
         startIndex = i;
         endIndex = maxDigitIndex;
      }
   }
   if (startIndex == -1) {
      return n;
   }
   swap(nInStr[startIndex], nInStr[endIndex]);
   return stoi(nInStr);
}
int main() {
   int n = 678;
   cout << getLargestNumber(n) << endl;
   return 0;
}

আউটপুট

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

876

উপসংহার

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


  1. C++ এ প্রদত্ত সংখ্যাগুলি দিয়ে তৈরি করা যেতে পারে এমন বৃহত্তম সংখ্যাটি খুঁজুন

  2. C++ এ লোয়ার দিয়ে উপরের তির্যক অদলবদল করুন

  3. C++ এ পাটিগণিত সংখ্যা

  4. C++ এ CHAR_BIT