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