তিনটি সংখ্যা 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