在C ++中第三次掷骰子获得更多价值的可能性

给定三个玩家A,B,C掷骰子,我们必须找到C掷骰子的概率,并且C得分的数字高于A和B。

为了检查获得更多值的可能性,我们必须记住,第三次掷骰子的值高于前两个。

像A掷骰子并得分2和B掷骰子并得分3一样,所以C获得更高值的概率为3/6 = 1/2,因为只有3个值可以高于A和B,即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的最大值,并用6计算其gcd

  • 返回结果。

算法

Start
Step 1→ 在第三颗骰子上获得更多值的可能性
   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;
//在第三颗骰子上获得更多值的可能性
void probab_third(int a, int b){
   int c = 6 - max(a, b);
   int GCD = __gcd(c, 6);
   cout<<"在第三颗骰子上获得更多值的可能性 : " <<c / GCD << "/" << 6 / GCD;
}
int main(){
   int a = 2, b = 2;
   probab_third(a, b);
   return 0;
}

输出结果

如果运行上面的代码,它将生成以下输出-

在第三颗骰子上获得更多值的可能性 : 2/3