কম্পিউটার

C++ এ প্রদত্ত বিকল্প সংখ্যাগুলির সাথে সংখ্যার একটি অংশ প্রতিস্থাপন করে প্রদত্ত সংখ্যাটিকে সর্বাধিক করুন


প্রদত্ত কাজটি হল একটি প্রদত্ত সংখ্যাকে 'N' সংখ্যার সংখ্যা দিয়ে বড় করা অন্য একটি অ্যারে ব্যবহার করে এটির সংখ্যা প্রতিস্থাপন করে 0 থেকে 9 পর্যন্ত সমস্ত একক-সংখ্যা সংখ্যার বিকল্প হিসাবে 10টি সংখ্যা রয়েছে,

প্রদত্ত শর্ত হল সংখ্যার একটি ধারাবাহিক সেগমেন্ট এবং শুধুমাত্র একবার প্রতিস্থাপন করা যেতে পারে।

ইনপুট

N=1234, arr[]={3 ,0 ,1 ,5 ,7 ,7 ,8 ,2 ,9 ,4}

আউটপুট

1257

ব্যাখ্যা

সংখ্যা 3 এর বিকল্প 5=arr[3]

দিয়ে প্রতিস্থাপন করা যেতে পারে

4 নম্বরটিকে এর বিকল্প 7=arr[4]

দিয়ে প্রতিস্থাপন করা যেতে পারে

ইনপুট

N=5183, arr[]={3 ,0 ,1 ,5 ,7 ,7 ,8 ,2 ,9 ,4}

আউটপুট

7183

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • ফাংশনে Max() সংখ্যার আকার সংরক্ষণ করতে int-এর একটি ভেরিয়েবল 'N' তৈরি করে।

  • i=0 থেকে i

  • তারপর নম্বরটি এর বিকল্প দিয়ে প্রতিস্থাপন করুন।

  • আসন্ন সংখ্যার জন্য এটি করুন যতক্ষণ না একটি ছোট বিকল্প থাকা সংখ্যা খুঁজে না পাওয়া যায়

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
string Max(string str, int arr[]){
   int N = str.size();
   //Iterating till the end of string
   for (int i = 0; i < N; i++) {
      //Checking if it is greater or not
      if (str[i] - '0' < arr[str[i] - '0']) {
         int j = i;
         //Replacing with the alternate till smaller
         while (j < N && (str[j] - '0' <= arr[str[j] - '0'])) {
            str[j] = '0' + arr[str[j] - '0'];
            j++;
         }
         return str;
      }
   }
   // Returning original str if there is no change
   return str;
}
//Main function
int main(){
   string str = "2075";
   int arr[] = {3 ,0 ,1 ,5 ,7 ,7 ,8 ,2 ,9 ,4 };
   cout <<” Maximize the given number by replacing a segment of digits with the alternate digits given is: ” <<Max(str, arr);
   return 0;
}

আউটপুট

আমরা উপরের কোডটি চালালে আমরা নিম্নলিখিত আউটপুট পাব −

Maximize the given number by replacing a segment of digits with the alternate digits given is: 2375

  1. সংখ্যা সহ ন্যূনতম সংখ্যা এবং শুধুমাত্র 7 এবং C++ এ যোগফল দেওয়া হয়েছে

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

  3. একটি প্রদত্ত সংখ্যা C++ এ তার সংখ্যার ফ্যাক্টরিয়ালের যোগফলকে ভাগ করে কিনা তা পরীক্ষা করুন

  4. একটি প্রদত্ত সংখ্যার সংখ্যা যোগ করার জন্য C++ প্রোগ্রাম