এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যেটি একক অদলবদল করে সবচেয়ে বড় সংখ্যা খুঁজে বের করে।
আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷
৷- সংখ্যা 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
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।