प्रायिकता Pi = (अनुकूल परिणामों की संख्या) / (कुल परिणामों की संख्या)।
दिया गया एक नंबर N है जो मौजूद कंटेनर्स की संख्या है। और हमारे पास दो नंबर X और Y की N कॉपीज हैं। कार्य X की कॉपीज को N कंटेनर्स में इस तरह विभाजित करना है कि X की कॉपी निकालने की प्रायिकता अधिकतम हो। उपरोक्त से यह देखा जा सकता है कि Pi को अधिकतम करने के लिए, हम या तो अंश (अनुकूल परिणामों की संख्या) को अधिकतम कर सकते हैं या हर (कुल परिणामों की संख्या) को न्यूनतम कर सकते हैं। इसे इस तरह से किया जा सकता है कि केवल एक कंटेनर में Y की एक कॉपी हो और सभी कंटेनर्स में X की कॉपीज हों। N-1 कंटेनर्स में X की एक-एक कॉपी हो (N-1 कॉपीज X की)। और 1 कंटेनर में Y की 1 कॉपी और X की N कॉपीज हों।
प्रायिकता (पहले (n-1) कंटेनर्स से X की कॉपी) = Pn-1 = 1
प्रायिकता (अंतिम कंटेनर से X की कॉपी) = Pn = 1/(n+1)
Pm = Pn-1 * (n - 1) + Pn ∴ Pm = n / (n + 1)
इनपुट - N=1
आउटपुट - N=1 के लिए अधिकतम प्रायिकता 0.5 है
व्याख्या - चूंकि केवल 1 कंटेनर है और उसमें X और Y की 1-1 कॉपी है। X निकालने की अधिकतम प्रायिकता 0.5 है।
इनपुट - N=3
आउटपुट - N=3 के लिए अधिकतम प्रायिकता 0.75 है
व्याख्या - यहां सभी कंटेनर्स में X की 1 कॉपी है और अंतिम में Y की सभी 3 कॉपीज हैं।
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
- कंटेनर्स की संख्या N के लिए एक इंटीजर वैल्यू इनपुट करें।
- X की अधिकतम प्रायिकता को संग्रहीत करने के लिए एक वेरिएबल घोषित करें, मान लें maxP।
- दिए गए N के लिए maxP की गणना N/(N+1) के रूप में करें।
उदाहरण
#include <bits/stdc++.h>
using namespace std;
int main() {
int N = 3;
double maxP = (double)N / (N + 1);
cout << "Maximum Probability for N = " << N << " is: " << maxP << endl;
return 0;
}
आउटपुट
Maximum Probability for N = 3 is: 0.75