กำหนดให้ผู้เล่น 3 คน A, B, C ทอยลูกเต๋า ต้องการหาความน่าจะเป็นที่ C ทอยได้ค่ามากกว่าทั้ง A และ B
ตัวอย่างที่ 1
Input: A = 3, B = 5
Output: 1/6
คำอธิบาย: ค่าที่มากกว่า 3 และ 5 คือแค่ 6 → 1/6
ตัวอย่างที่ 2
Input: A = 2, B = 4
Output: 1/3
คำอธิบาย: ค่าที่มากกว่า 2 และ 4 คือ 5 และ 6 → 2/6 = 1/3
แนวทางแก้ปัญหา
- หาค่าสูงสุดระหว่าง A และ B
- ลบค่าสูงสุดนั้นออกจาก 6 → ได้จำนวนผลลัพธ์ที่เป็นไปได้
- หาตัวหารร่วมมาก (GCD) กับ 6 เพื่อลดรูปเศษส่วน
- แสดงผลเป็นเศษส่วนที่ลดรูปแล้ว
โค้ดตัวอย่าง
#include <bits/stdc++.h>
using namespace std;
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;
}
ผลลัพธ์
probability of getting more value in third dice : 2/3
คำอธิบาย: เมื่อ A=2, B=2 ค่าสูงสุดคือ 2 ค่าที่มากกว่า 2 คือ 3,4,5,6 (4 ค่า) → 4/6 = 2/3