3명의 플레이어 A, B, C가 주사위를 던졌을 때 C가 주사위를 던질 확률을 찾아야 하며 C가 득점한 숫자는 A와 B 모두보다 높습니다.피>
더 많은 값을 얻을 확률을 확인하려면 세 번째 주사위를 던진 값이 이전 두 개보다 높다는 점을 염두에 두어야 합니다.
A가 주사위를 던져 2를 기록하고 B가 주사위를 던져 3을 기록하는 것처럼 C가 더 높은 값을 얻을 확률은 3/6 =1/2입니다. 4, 5, 6이므로 축소 후 확률은 1/2이 됩니다.
따라서 그에 의해 얻을 수 있는 결과는 더욱 줄어들어야 합니다.
입력
A = 3, B = 5
출력
1/6
설명 − 3과 5보다 큰 값은 6뿐이므로 1/6은 확률입니다.
입력
A = 2, B = 4
출력
1/3
설명 − 2와 4보다 높은 값은 5와 6이며 확률은 2/6이며 1/3로 줄일 수 있습니다.
문제를 해결하기 위해 다음과 같은 접근 방식을 사용합니다.
-
A와 B의 값 중에서 최대값을 찾습니다.
-
6에서 A와 B의 최대값을 빼고 gcd를 6으로 계산합니다.
-
결과를 반환합니다.
알고리즘
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호출
예
#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; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
probability of getting more value in third dice : 2/3