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

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


प्रायिकता 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

  1. C++ में BFS का उपयोग करके एक शीर्ष से शेष सभी शीर्षों तक पथ खोजना C++ में BFS का उपयोग करके एक शीर्ष से शेष सभी शीर्षों तक पथ खोजना

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

  1. C++ में सरणी में कुंजी K की उपस्थिति की संभावना C++ में सरणी में कुंजी K की उपस्थिति की संभावना

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

  1. C++ में शतरंज बोर्ड पर घोड़े की संभावना C++ में शतरंज बोर्ड पर घोड़े की संभावना

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