কম্পিউটার

প্রদত্ত সংখ্যাগুলিকে সবচেয়ে বড় সংখ্যা গঠনের জন্য সাজান?


এখানে আমরা দেখব কিভাবে প্রদত্ত সংখ্যাগুলোকে পুনর্বিন্যাস করে সবচেয়ে বড় সংখ্যা তৈরি করা যায়। ধরুন সেখানে {45, 74, 23} দেওয়া আছে, প্রোগ্রামটি সবচেয়ে বড় সংখ্যাটি বের করবে, সেটি হল 744523। তাই প্রতিটি সংখ্যা সাজানো হবে না। কিন্তু সবচেয়ে বড় সংখ্যা করতে পুরো সংখ্যা বসানো হবে।

এই সমস্যাটি সমাধান করতে, আমরা স্ট্রিং সাজানোর ব্যবহার করব। কিন্তু তুলনার যুক্তি ভিন্ন। তুলনা করার ফাংশনটি a এবং b দুটি সংখ্যা নেবে, তারপরে তাদের সংযুক্ত করে ab এবং ba গঠন করবে। তাদের মধ্যে কোনটি বড়, সেটি বিবেচনা করা হয়।

অ্যালগরিদম

compareStrings(a, b)

begin
   ab := concatenate b with a
   ba := concatenate a with b
   compare ba with ab, then return 1 if ba is bigger, otherwise return 0
end
getLargest(arr):
begin
   sort the arr with the comparison logic using compareString()
   for each string s in arr, do
      print s
   done
end

উদাহরণ

#include<iostream>
#include <string>
#include &t;vector>
#include <algorithm>
using namespace std;
int stringCompare(string a, string b) {
   string ab = a.append(b);
   string ba = b.append(a);
   return ab.compare(ba) > 0 ? 1: 0;
}
void getLargest(vector<string> arr) {
   sort(arr.begin(), arr.end(), stringCompare); //sort the array
   for (int i =0; i < arr.size() ; i++ )
      cout << arr[i];
}
int main() {
   vector<string> arr;
   arr.push_back("45");
   arr.push_back("74");
   arr.push_back("23");
   getLargest(arr);
}

আউটপুট

744523

  1. পাইথনে প্রদত্ত সীমাবদ্ধতার অধীনে A থেকে স্ট্রিং B তৈরি করা সম্ভব কিনা তা পরীক্ষা করুন

  2. পাইথনে একজোড়া স্ট্রিংয়ে মিলিত অক্ষরের সংখ্যা গণনা করুন

  3. পাইথন প্রোগ্রাম একটি প্রদত্ত স্ট্রিং এর সেট ব্যবহার করে স্বর সংখ্যা গণনা করার জন্য

  4. পাইথন প্রোগ্রাম একটি প্রদত্ত স্ট্রিং সেট ব্যবহার করে স্বর সংখ্যা গণনা