Computer >> Máy Tính >  >> Lập trình >> C ++

Xác suất nhận được nhiều giá trị hơn trong lần ném xúc xắc thứ ba trong C ++


Cho 3 người chơi A, B, C ném xúc xắc, ta phải tìm xác suất để người C ném xúc xắc và số điểm của C cao hơn cả A và B. P>

Để kiểm tra xác suất nhận được nhiều giá trị hơn, chúng ta phải nhớ rằng giá trị của lần ném xúc xắc thứ ba cao hơn hai lần trước.

Giống như A ném xúc xắc và ghi điểm 2 và B ném xúc xắc và ghi điểm 3 nên xác suất để C nhận được giá trị cao hơn là 3/6 =1/2, vì chỉ có 3 giá trị có thể cao hơn A và B, tức là 4, 5 và 6 nên xác suất sẽ là 1/2 sau khi giảm.

Vì vậy, kết quả thu được bởi nó cần được giảm bớt.

Đầu vào

A = 3, B = 5

Đầu ra

1/6

Giải thích - Giá trị duy nhất lớn hơn cả 3 và 5 là 6, do đó, 1/6 là xác suất.

Đầu vào

A = 2, B = 4

Đầu ra

1/3

Giải thích - Các giá trị cao hơn cả 2 và 4 là 5 và 6 có xác suất là 2/6 có thể giảm xuống còn 1/3.

Phương pháp được sử dụng dưới đây như sau để giải quyết vấn đề

  • Chúng tôi sẽ tìm giá trị lớn nhất trong số các giá trị của A và B

  • Trừ số tối đa của A và B cho 6 và tính gcd của nó với 6

  • Trả kết quả.

Thuật toán

Start
Step 1→ probability of getting more value in third dice
   void probab_third(int a, int b)
      declare int c = 6 - max(a, b)
      declare int GCD = __gcd(c, 6)
      Print GCD
Step 2→ In main()
   Declare int a = 2, b = 2
   Call probab_third(a, b)
Stop

Ví dụ

#include <bits/stdc++.h>
using namespace std;
//probability of getting more value in third dice
void probab_third(int a, int b){
   int c = 6 - max(a, b);
   int GCD = __gcd(c, 6);
   cout<<"probability of getting more value in third dice : " <<c / GCD << "/" << 6 / GCD;
}
int main(){
   int a = 2, b = 2;
   probab_third(a, b);
   return 0;
}

Đầu ra

Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

probability of getting more value in third dice : 2/3