- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Probability of A winning the match when individual probabilities of hitting the target given in C++
Given with two players let’s say A and B both are trying to get a penalty for winning the match. Given with four integer variables a, b, c, d so the probability of A getting the penalty first is a / b and probability of B getting the penalty first is c / d.
The one who scores the penalty first will win the match and as per the given problem statement program must find the probability of A winning the match.
Input
a = 10, b = 20, c = 30, d = 40
Output
probability is 0.5333
Input
a = 1, b = 2, c = 10, d = 11
Output
probability is 0.523
Approach used in the below program is as follows
Input the values of four integer variables a, b, c, d
Subtract the probability of B winning the match from the total probability and we will get the resultant probability of A winning the match
e * (1 / (1 - (1 - f) * (1 - f))))
Where, e is the probability of A winning the match and f is the probability of B winning the match
Display the probability of A winning the match
Algorithm
Start Step 1→ Declare function to calculate the probability of winning double probab_win(int a, int b, int c, int d) Declare double e = (double)a / (double)b Declare double f = (double)c / (double)d return (e * (1 / (1 - (1 - f) * (1 - f)))) Step 2→ In main() Declare variable as int a = 10, b = 20, c = 30, d = 40 Call probab_win(a, b, c, d) Stop
Example
#include <bits/stdc++.h> using namespace std; // calculate the probability of winning the match double probab_win(int a, int b, int c, int d){ double e = (double)a / (double)b; double f = (double)c / (double)d; return (e * (1 / (1 - (1 - f) * (1 - f)))); } int main(){ int a = 10, b = 20, c = 30, d = 40; cout<<"probability is "<<probab_win(a, b, c, d); return 0; }
Output
If run the above code it will generate the following output −
probability is 0.5333
To Continue Learning Please Login
Login with Google