এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যেটি সংখ্যার একক অদলবদল সহ সবচেয়ে বড় সম্ভাব্য জোড় সংখ্যা খুঁজে বের করে৷
আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷
৷- সংখ্যাটিকে স্ট্রিং বিন্যাসে শুরু করুন।
- প্রদত্ত সংখ্যার উপর পুনরাবৃত্তি করুন।
- সংখ্যার শেষ সংখ্যার থেকে কম বা সমান এমন জোড় সংখ্যা খুঁজুন।
- যদি আপনি কাঙ্খিত জোড় সংখ্যা খুঁজে পান তাহলে লুপ ভেঙে দিন।
- যদি জোড় সংখ্যা না থাকে, তাহলে প্রদত্ত নম্বরটি ফেরত দিন।
- উপরের ধাপে আপনি যে জোড় সংখ্যাটি পেয়েছেন তার সাথে শেষ সংখ্যাটি অদলবদল করুন।
- নম্বরটি ফেরত দিন
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
string getLargestEvenNumber(string number, int n) {
int even = INT_MAX, index;
for (int i = 0; i < n - 1; i++) {
if ((number[i] - '0') % 2 == 0) {
even = (number[i] - '0');
index = i;
}
if (even <= (number[n - 1] - '0')) {
break;
}
}
if (even == INT_MAX) {
return number;
}
swap(number[index], number[n - 1]);
return number;
}
int main() {
string number = "15433";
cout << getLargestEvenNumber(number, 5) << endl;
return 0;
} আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
15334
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।