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的最大公约数
返回结果。
算法
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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP