কম্পিউটার

C++ এ প্রদত্ত সংমিশ্রণ ব্যবহার করে (R, G এবং B দিয়ে তৈরি) স্ট্রিংয়ের সংখ্যা গণনা করুন


তিনটি সংখ্যা R, G এবং B এবং অক্ষর 'R', 'G' এবং 'B' শুধুমাত্র দেওয়া আছে। লক্ষ্য হল সম্ভাব্য স্ট্রিংগুলির গণনা খুঁজে বের করা যা কমপক্ষে R Rs, কমপক্ষে G Gs এবং কমপক্ষে B Bs ব্যবহার করে তৈরি করা যেতে পারে। R, G এবং B সংখ্যাগুলির যোগফল সম্ভাব্য স্ট্রিংগুলির দৈর্ঘ্যের চেয়ে কম বা সমান।

উদাহরণস্বরূপ

ইনপুট

R = 1, G = 1, B = 1 length=3

আউটপুট

Count of number of strings (made of R, G and B) using given combination are −
6

ব্যাখ্যা

The possible strings will be :
“RGB”, “RBG”, “BRG”, “BGR”, “GRB”, “GBR”. That is permutations of RGB.

ইনপুট

R = 2, G = 0, B = 2 length=4

আউটপুট

Count of number of strings (made of R, G and B) using given combination are −
6

ব্যাখ্যা

The possible strings will be :
“RRBB”, “BBRR”, “RBRB”, “BRBR”, “RBBR”, “BRRB”.

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

এই পদ্ধতিতে আমরা প্রথমে R, B এবং G সংখ্যার জন্য কয়েকবার অক্ষর নেব। এখন অবশিষ্ট দৈর্ঘ্যের জন্য পরীক্ষা করুন − (R+G+B) অক্ষরগুলি সমস্ত স্থানান্তর এবং সংমিশ্রণ তৈরি করে এবং গণনায় যোগ করে৷

  • ইনপুট হিসাবে R, G, B পূর্ণসংখ্যার মান নিন।

  • তৈরি করা স্ট্রিংগুলির দৈর্ঘ্য হিসাবে আকার নিন।

  • ফাংশন সংমিশ্রণ (int R, int G, int B, int আকার) সমস্ত ইনপুট নেয় এবং একটি প্রদত্ত সংমিশ্রণ ব্যবহার করে স্ট্রিংগুলির সংখ্যা (R, G এবং B দিয়ে তৈরি) ফেরত দেয়৷

  • 0 হিসাবে প্রাথমিক গণনা নিন।

  • temp=size − (R + G + B) হিসাবে অবশিষ্ট গণনা নিন।

  • পারমুটেশনের মান নিতে দৈর্ঘ্যের আকার +1 এর একটি অ্যারে নিন।

  • প্রাথমিকভাবে i in arr[i] এর ফ্যাক্টরিয়াল সংরক্ষণ করুন। i=0 থেকে i=size পর্যন্ত লুপের জন্য ব্যবহার করা হচ্ছে। Setarr[i]=arr[i−1]*i.

  • কম্বিনেশনের গণনার জন্য ট্রাভার্স arr[] আবার দুই ফর লুপ ব্যবহার করে।

  • i=0 থেকে temp এবং j=0 থেকে temp−i এর জন্য, temp_2 =temp − (i + j) গণনা করুন।

  • temp_3 =arr[i + R] * arr[j + B] * arr[temp_2 + G] নিন।

  • এখন গণনা করতে arr[size] / temp_3 যোগ করুন।

  • লুপগুলির জন্য সব শেষে আমরা সম্ভাব্য স্ট্রিংগুলির প্রয়োজনীয় সংখ্যক হিসাবে গণনা করব।

  • ফলাফল হিসাবে রিটার্ন গণনা।

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
int combination(int R, int G, int B, int size){
   int count = 0;
   int temp = size − (R + G + B);
   int arr[size+1];
   arr[0] = 1;
   for (int i = 1; i <= size; i++){
      arr[i] = arr[i − 1] * i;
   }
   for (int i = 0; i <= temp; i++){
      for (int j = 0; j <= temp−i; j++){
         int temp_2 = temp − (i + j);
         int temp_3 = arr[i + R] * arr[j + B] * arr[temp_2 + G];
         count += arr[size] / temp_3;
      }
   }
   return count;
}
int main(){
   int R = 2, G = 1, B = 1;
   int size = 4;
   cout<<"Count of number of strings (made of R, G and B) using given combination are:
   "<<combination(R, G, B, size);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count of number of strings (made of R, G and B) using given combination are: 12

  1. C++ এ একটি অ্যারেতে জোড় এবং বিজোড় উপাদানের সংখ্যা গণনা করুন

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

  3. C++ ব্যবহার করে N 25 দ্বারা বিভাজ্য করার জন্য প্রদত্ত চালের ন্যূনতম সংখ্যা প্রয়োজন।

  4. C++ ব্যবহার করে x-এর যোগফল এবং এর অঙ্কগুলো n-এর সমান হয় এমন একটি সংখ্যা খুঁজুন।