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 के जीतने की प्रायिकता हो सकती है,

000win(P1) + (lost(P1)*lost(P2)*win(P1)) +
(lost(P1)*lost(P2)*lost(P1)*lost(P2)*win(P1) + ….

जिसे इस रूप में तैयार किया जा सकता है,

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

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

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

योग होगा,

S = A/ (1- R) , as R is less than 1.

$$S=\बाएं(\frac{\बाएं(\frac{p}{p}\right)}{1-\बाएं(1-\frac{p}{p}\right)*\बाएं(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 का उपयोग N प्राप्त करने के लिए किया जाता है सीआर और P एक अभाज्य है। हमें यह पता लगाना है कि क्या N सीआर P से विभाज्य है। मान लीजिए हमारे पास कुछ संख्याएँ N =7, R =2 और P =3 हैं, तो 7 सी2 =21, यह 3 से विभाज्य है, इसलिए आउटपुट सत्य होगा। हम जानते हैं कि N सीआ

  1. मार्कोव श्रृंखला में एक निश्चित समय पर एक राज्य की संभावना खोजने के लिए सी ++ प्रोग्राम

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

  1. किसी दिए गए बिंदु को कवर करने वाले सबसे उपयुक्त आयत को खोजने के लिए C++ प्रोग्राम

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