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

C++ में लक्ष्य भेदने की संभावनाएं दिए जाने पर खिलाड़ी के जीतने की संभावना खोजें


इस समस्या में हमें चार मान p, q, r, s दिए गए हैं। हमारा कार्य लक्ष्य भेदने की संभावनाएं दिए जाने पर खिलाड़ी के जीतने की संभावना खोजना है।

यहां, हमारे पास दो खिलाड़ी हैं जो तीरंदाजी का खेल खेल रहे हैं। और खिलाड़ी 1 के लक्ष्य भेदने की संभावना p/q के रूप में परिभाषित है। खिलाड़ी 2 के लक्ष्य भेदने की संभावना r/s के रूप में परिभाषित है। हमें खिलाड़ी एक के खेल जीतने की संभावना ज्ञात करनी है।

आइए एक उदाहरण से इस समस्या को समझते हैं,

इनपुट

p = 3, q = 5, r = 2, s = 5

आउटपुट

0.789

समाधान दृष्टिकोण

*इस दृष्टिकोण के लिए संभावना के ज्ञान की आवश्यकता है।

चूंकि, खिलाड़ियों को लक्ष्य भेदने का मौका मिलने की संख्या की कोई ऊपरी सीमा नहीं है। दोनों किसी भी संख्या में लक्ष्य भेद सकते हैं जो जीतने की स्थिति की गणना को परीक्षणों की संख्या से स्वतंत्र बनाता है।

तो,

मान लें खिलाड़ी एक के लक्ष्य भेदने की संभावना P1 = p/q है, इससे चूकने की संभावना 1 - p/q होती है।

मान लें खिलाड़ी दो के लक्ष्य भेदने की संभावना P2 = r/s है, जिससे चूकने की संभावना 1 - r/s होती है।

अब, अनंत परीक्षणों के लिए, खिलाड़ी 1 के जीतने की संभावना हो सकती है,

जीत(P1) + (हार(P1)*हार(P2)*जीत(P1)) + (हार(P1)*हार(P2)*हार(P1)*हार(P2)*जीत(P1) + ...

जिसे इस प्रकार सूत्रबद्ध किया जा सकता है,

P1 + ((1 - P1)*(1 - P2)*(P1)) + ((1 - P1)*(1 - P2)*(1 - P1)*(1 - P2)*(P1)) ...

यह एक अनंत GP है जहां,

A = P1 R = [(1 - P1)*(1 - P2)]

योग होगा,

S = A/ (1- R) , चूंकि R 1 से कम है।

$$S=\left(\frac{\left(\frac{p}{p}\right)}{1-\left(1-\frac{p}{p}\right)*\left(1-\frac{p}{p}\right)}\right)$$

हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम,

उदाहरण

#include <iostream> using namespace std; double calcWinningPropP1(double p, double q, double r, double s){    return (p / q) / (1 - ( (1 - (p/q)) * (1 - (r/s)) ) ); } int main() {    double p = 3, q = 5, r = 2, s = 5;    cout<<"The probability of player 1 winning is "<<calcWinningPropP1(p, q, r, s);    return 0; }

आउटपुट

The probability of player 1 winning is 0.789474

  1. - C++ में जांचें कि nCr दी गई अभाज्य संख्या से विभाज्य है या नहीं

    मान लीजिए तीन वेरिएबल N, R और P हैं। N और R का उपयोग NCR प्राप्त करने के लिए किया जाता है और P एक अभाज्य संख्या है। हमें यह पता लगाना है कि NCR P से विभाज्य है या नहीं। मान लीजिए N = 7, R = 2 और P = 3, तो 7C2 = 21, जो 3 से विभाज्य है, इसलिए आउटपुट true होगा। हम जानते हैं कि NCR = N! / (R! * (N &ndas

  1. - C++ प्रोग्राम: मार्कोव चेन में दिए गए समय पर एक अवस्था की संभावना ज्ञात करना

    इस लेख में, हम एक प्रोग्राम पर चर्चा करेंगे जो मार्कोव चेन में दिए गए समय अवधि में प्रारंभिक अवस्था से अंतिम अवस्था तक पहुंचने की संभावना ज्ञात करता है। मार्कोव चेन एक यादृच्छिक प्रक्रिया है जिसमें विभिन्न अवस्थाएं होती हैं और एक अवस्था से दूसरी अवस्था में जाने की संबद्ध संभावनाएं होती हैं। एक अवस्

  1. - C++ प्रोग्राम: दिए गए बिंदु को कवर करने वाला सर्वोत्तम फिट आयत ज्ञात करना

    इस लेख में, हम एक प्रोग्राम पर चर्चा करेंगे जो दिए गए बिंदु को कवर करने वाला सर्वोत्तम फिट आयत ज्ञात करता है। इस समस्या में, हमें एक बिंदु के निर्देशांक (x,y) और लंबाई/चौड़ाई का अनुपात = l/b (मान लीजिए) दिया जाता है। हमें एक आयत के निर्देशांक ज्ञात करने हैं जिसमें दिया गया बिंदु हो और जिनके आयाम दि