কম্পিউটার

C++ এ প্রদত্ত সংখ্যায় একটি সোয়াপ অপারেশন ব্যবহার করে সবচেয়ে বড় জোড় সংখ্যা সম্ভব


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

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

  • সংখ্যাটিকে স্ট্রিং বিন্যাসে শুরু করুন।
  • প্রদত্ত সংখ্যার উপর পুনরাবৃত্তি করুন।
    • সংখ্যার শেষ সংখ্যার থেকে কম বা সমান এমন জোড় সংখ্যা খুঁজুন।
    • যদি আপনি কাঙ্খিত জোড় সংখ্যা খুঁজে পান তাহলে লুপ ভেঙে দিন।
  • যদি জোড় সংখ্যা না থাকে, তাহলে প্রদত্ত নম্বরটি ফেরত দিন।
  • উপরের ধাপে আপনি যে জোড় সংখ্যাটি পেয়েছেন তার সাথে শেষ সংখ্যাটি অদলবদল করুন।
  • নম্বরটি ফেরত দিন

উদাহরণ

#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

উপসংহার

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


  1. C++ ব্যবহার করে প্রদত্ত বিন্দু থেকে সম্ভাব্য চতুর্ভুজের সংখ্যা নির্ণয় করুন

  2. C++ ব্যবহার করে একটি সংখ্যার জোড় গুণনীয়কের সমষ্টি খুঁজুন।

  3. C++ ব্যবহার করে একটি সংখ্যার বৃহত্তম মৌলিক গুণনীয়ক খুঁজুন।

  4. অর্ডার-স্ট্যাটিস্টিক অ্যালগরিদম ব্যবহার করে প্রদত্ত তালিকা থেকে সবচেয়ে বড় সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম