কম্পিউটার

সর্বাধিক সম্ভাব্য সময় যা C++ এ চারটি সংখ্যা থেকে তৈরি করা যেতে পারে


এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম নিয়ে আলোচনা করব যাতে সর্বোচ্চ সম্ভাব্য সময় বের করা যায় যা চারটি সংখ্যা থেকে তৈরি করা যেতে পারে।

এর জন্য আমাদেরকে 4 সংখ্যা বিশিষ্ট একটি অ্যারে দেওয়া হবে। আমাদের কাজ হল সর্বোচ্চ সময় (24 ঘন্টার বিন্যাস) খুঁজে বের করা যা এই চারটি সংখ্যা ব্যবহার করে গঠিত হতে পারে।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
//returning updated frequency map
map<int, int> getFrequencyMap(int arr[], int n) {
   map<int, int> hashMap;
   for (int i = 0; i < n; i++) {
      hashMap[arr[i]]++;
   }
   return hashMap;
}
//checking if the digit is present in frequency map
bool hasDigit(map<int, int>* hashMap, int digit) {
   if ((*hashMap)[digit]) {
      (*hashMap)[digit]--;
      return true;
   }
   return false;
}
//returning maximum time in 24 hour format
string getMaxtime_value(int arr[], int n) {
   map<int, int> hashMap = getFrequencyMap(arr, n);
   int i;
   bool flag;
   string time_value = "";
   flag = false;
   for (i = 2; i >= 0; i--) {
      if (hasDigit(&hashMap, i)) {
         flag = true;
         time_value += (char)i + 48;
         break;
      }
   }
   if (!flag)
      return "-1";
   flag = false;
   if (time_value[0] == '2') {
      for (i = 3; i >= 0; i--) {
         if (hasDigit(&hashMap, i)) {
            flag = true;
            time_value += (char)i + 48;
            break;
         }
      }
   }
   else {
      for (i = 9; i >= 0; i--) {
         if (hasDigit(&hashMap, i)) {
            flag = true;
            time_value += (char)i + 48;
            break;
         }
      }
   }
   if (!flag)
      return "-1";
   time_value += ":";
   flag = false;
   for (i = 5; i >= 0; i--) {
      if (hasDigit(&hashMap, i)) {
         flag = true;
         time_value += (char)i + 48;
         break;
      }
   }
   if (!flag)
      return "-1";
   flag = false;
   for (i = 9; i >= 0; i--) {
      if (hasDigit(&hashMap, i)) {
         flag = true;
         time_value += (char)i + 48;
         break;
      }
   }
   if (!flag)
      return "-1";
   return time_value;
}
int main() {
   int arr[] = { 0, 0, 0, 9 };
   int n = sizeof(arr) / sizeof(int);
   cout << (getMaxtime_value(arr, n));
   return 0;
}

আউটপুট

09:00

  1. একটি গ্রাফ থেকে সর্বাধিক স্কোর কমানো যেতে পারে তা খুঁজে বের করতে C++ প্রোগ্রাম

  2. সর্বাধিক আয়না যা C++ এ নিচ থেকে ডানে আলো স্থানান্তর করতে পারে

  3. C++ এ একটি প্রদত্ত সংখ্যার সংখ্যা ব্যবহার করে তৈরি করা যেতে পারে এমন সর্বাধিক সংখ্যা খুঁজুন

  4. ফাংশন যা C++ এ ওভারলোড করা যাবে না