Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में N कंटेनरों से एक प्रकार की प्रायिकता को अधिकतम करना


प्रायिकता Pi=(अनुकूल परिणामों की संख्या) / (कुल परिणामों की संख्या)।

दिया गया एक संख्या N है जो मौजूद कंटेनरों की संख्या है। और हमारे पास दो संख्याओं X और Y की N प्रतियां हैं। कार्य एक संख्या X की प्रतियों को N कंटेनरों में विभाजित करना है ताकि X की प्रतिलिपि बनाने की संभावना अधिकतम हो। ऊपर से यह देखा जा सकता है कि पाई को अधिकतम करने के लिए, हम या तो अंश (अनुकूल परिणामों की संख्या) को अधिकतम कर सकते हैं या हर को कम कर सकते हैं (परिणामों की कुल संख्या)। यह इस तरह से किया जा सकता है कि केवल एक कंटेनर में Y की एक प्रति हो और सभी कंटेनरों में X की प्रतियां हों। N-1 कंटेनरों में प्रत्येक में X की एक प्रति (X की N-1 प्रतियां) हों। और 1 कंटेनर में Y की 1 कॉपी और Y की N कॉपी होती है।

प्रायिकता (पहले (n-1) कंटेनरों से X की कॉपी) =Pn-1 =1

प्रायिकता (पिछले कंटेनर से X की कॉपी) =Pn =1/(n+1)

Pm = Pn-1 * (n – 1) + Pn
∴ Pm = n / (n + 1)

इनपुट -एन=1

आउटपुट − N=1 की अधिकतम संभावना 0.5 है

स्पष्टीकरण - क्योंकि इसमें केवल 1 कंटेनर और X और Y प्रत्येक की 1 कॉपी है। X के आने की अधिकतम प्रायिकता 0.5 है।

इनपुट -एन=3

आउटपुट - N=1 की अधिकतम संभावना 0.75

. है

स्पष्टीकरण - यहां सभी कंटेनरों में X की 1 कॉपी होती है और आखिरी में Y की सभी 3 कॉपी होती हैं।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • N के लिए एक पूर्णांक मान इनपुट करें जो कि कंटेनरों की संख्या है।

  • X की अधिकतम प्रायिकता को संग्रहीत करने के लिए एक चर घोषित करें, मान लें कि maxP।

  • दिए गए N के लिए अधिकतम P को 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

  1. सी ++ में बीएफएस का उपयोग करके एक शीर्ष से आराम करने के लिए पथ ढूँढना

    इस समस्या में, हमें एक निर्देशित ग्राफ दिया गया है जो एक आसन्न सूची के रूप में दर्शाया गया है। हमारा कार्य बीएफएस का उपयोग करके एक शीर्ष से आराम करने के लिए पथ खोजने के लिए एक प्रोग्राम बनाने के लिए है । बीएफएस (ब्रेडथ फर्स्ट सर्च) एक एल्गोरिथम है जो एक ग्राफ़ को चौड़ाई की गति में ट्रेस करता है और

  1. C++ में सरणी में मौजूद कुंजी K की प्रायिकता

    आकार एन की एक सरणी के साथ दिया गया है और कार्य किसी सरणी में उपलब्ध होने पर दिए गए तत्व k की संभावना को खोजना है। संपूर्ण सरणी को n तक पार करें जो किसी सरणी में तत्वों की संख्या के बराबर है और दिए गए तत्व या कुंजी k की खोज करें। यदि तत्व किसी सरणी में मौजूद है तो इसकी संभावना की गणना करें अन्यथा 0

  1. C++ . में शतरंज की बिसात में नाइट की संभाव्यता

    मान लीजिए कि हमारे पास एक NxN शतरंज की बिसात है, एक शूरवीर r-वें पंक्ति और c-वें स्तंभ से शुरू होता है और ठीक K चाल चलने का प्रयास करता है। यहां पंक्तियों और स्तंभों को 0 अनुक्रमित किया गया है, इसलिए शीर्ष-बाएं वर्ग (0, 0) है, और निचला-दायां वर्ग (N-1, N-1) है। एक शूरवीर एक सेल से 8 अलग-अलग कोशिकाओ