一道概率题

问题:
甲乙双方每人有1-6点的骰子,每人每回合投掷一次,比点子大小~其中骰子只要被投掷出来后,该点骰子将进入冷却,冷却二回合(二回合内该点骰子不会再被投掷方投掷出)。求三回合甲方点数都比乙方大的概率。

这是群里一个策划提出的问题,通过编程穷举可知结果为540/14400=0.0375,下面是数学算法。
解:

一,分母:

由于甲乙二人每次掷骰子都不能与自己之前掷出的点数相同,所以:

分母等价于计算“在下面6x6格子中随机放三个球,使三者互不同行且互不同列”。

计算过程:
设“在此6x6格子中随机放三个球,互不同行且互不同列”的情况数为A,
设“在此6x6格子中随机放三个球,没有其它限制”的情况数为B,
设“在此6x6格子中随机放三个球,存在同行者”的情况数为C,
设“在此6x6格子中随机放三个球,存在同列者”的情况数为D,
设“在此6x6格子中随机放三个球,既存在同行者也存在同列者”的情况数为E,
则有A=B-C-D+E  (为什么要加E? 因为减C和减D时E被重复减了两次)
显然B=C(36,3)=7140
下面计算C:“在此6x6格子中随机放三个球,存在同行者”的情况数。
“存在同行者”包含下列诸情况:
1,同行的一对球在第一行。
此种情况又分出两种情况:
(1)第三个球与此二者同行。即三个球同在第一行,为C(6,3)。
(2)第三个球与此二者不同行。为C(6,2)*C(36-6,1)
2,同行的一对球在第二行。(同上)
3,同行的一对球在第三行。(同上)
4,同行的一对球在第四行。(同上)
5,同行的一对球在第五行。(同上)
6,同行的一对球在第六行。(同上)
所以C=(C(6,3)+C(6,2)*C(36-6,1))*6=2820
下面计算D:显然D=C=2820。
下面计算E:“在此6x6格子中随机放三个球,既存在同行者也存在同列者”的情况数。
不难发现:如果三个球满足E所述模式,则三个球将构成一个直角三角形的三个顶点,例如:

那么作为直角顶点的那个球(图中黄球)的位置,可以用来作为分类依据:
1,直角顶点球在(1,1)处,有5*5种情况
2,直角顶点球在(1,2)处,有5*5种情况
....
36,直角顶点球在(6,6)处,有5*5种情况
所以E=5*5*36=900

所以分母:“在此6x6格子中随机放三个球,互不同行且互不同列”的情况数
A=B-C-D+E=7140-2820-2820+900=2400

二,分子

在分母基础上再加上“三次点数均甲>乙”的限制,所以:
分子等价于计算“在下面绿色区域中随机放三个球,使三者互不同行且互不同列”。

计算过程:
设“在绿色区域中随机放三个球,互不同行且互不同列”的情况数为A’,
设“在绿色区域中随机放三个球,没有其它限制”的情况数为B’,
设“在绿色区域中随机放三个球,存在同行者”的情况数为C’,
设“在绿色区域中随机放三个球,存在同列者”的情况数为D’,
设“在绿色区域中随机放三个球,既存在同行者也存在同列者”的情况数为E’,
则有A’=B’-C’-D’+E’
显然B’=C(15,3)=455
下面计算C’:“在绿色区域中随机放三个球,存在同行者”的情况数。
“存在同行者”包含下列诸情况:
1,同行的一对球在第一行。
此种情况又分出两种情况:
(1)第三个球与此二者同行。即三个球同在第一行,为C(5,3)。
(2)第三个球与此二者不同行。为C(5,2)*C(15-5,1)
2,同行的一对球在第二行。
此种情况又分出两种情况:
(1)第三个球与此二者同行。即三个球同在第二行,为C(4,3)。
(2)第三个球与此二者不同行。为C(4,2)*C(15-4,1)
3,同行的一对球在第三行。
此种情况又分出两种情况:
(1)第三个球与此二者同行。即三个球同在第三行,为C(3,3)。
(2)第三个球与此二者不同行。为C(3,2)*C(15-3,1)
4,同行的一对球在第四行。
此种情况又分出两种情况:
(1)第三个球与此二者同行。即三个球同在第四行,这不可能,为0。
(2)第三个球与此二者不同行。为C(2,2)*C(15-2,1)
所以C’=(C(5,3)+C(5,2)*C(15-5,1))+(C(4,3)+C(4,2)*C(15-4,1))+(C(3,3)+C(3,2)*C(15-3,1))+(0+C(2,2)*C(15-2,1))=230
下面计算D’:显然D’=C’=230。
下面计算E’:“在绿色区域中随机放三个球,既存在同行者也存在同列者”的情况数。
如果三个球满足E所述模式,则三个球将构成一个直角三角形的三个顶点。(前面已经提到过)。
仍以直角顶点球的位置作为分类依据:
1,直角顶点球在(1,2)处,有0种情况
2,直角顶点球在(1,3)处,有1*4种情况
3,直角顶点球在(1,4)处,有2*4种情况
4,直角顶点球在(1,5)处,有3*4种情况
5,直角顶点球在(1,6)处,有4*4种情况
6,直角顶点球在(2,3)处,有1*3种情况
7,直角顶点球在(2,4)处,有2*3种情况
...
15,直角顶点球在(5,6)处,有0种情况
即下表:

所以E’=上表中所有数值的和=4*(0+1+2+3+4)+3*(1+2+3+4)+2*(2+3+4)+1*(3+4)+0=95

所以分母:“在绿色区域中随机放三个球,互不同行且互不同列”的情况数
A’=B’-C’-D’+E’=455-230-230+95=90

三,概率
概率=分子/分母=90/2400=0.0375

四,补充说明
上面计算的分子和分母都是按组合算的,由于概率是二者比值,所以对计算结果没影响。
而实际上,对于原始的掷骰子问题来说,三个回合是有顺序的,所以实际上这里的数学模型中的三个球应该按有顺序算,即最严谨的写法应该是:
(90*3!)/(2400*3!)=0.0375

时间: 2024-12-17 02:17:58

一道概率题的相关文章

摸球问题->一道概率题

题目:袋子足够大,袋子里面有三种颜色的球.数量都是一样的,摸出来的概率是一样的.小明随便摸出来两个,然后看了一眼说至少有一个是红的.问,小明摸出来两个红球的概率是多少? 解答: 1.假设:A="至少有一个是红的",B="摸出来两个红球":袋中有3n个球各种球各n个: 2: a.不放回的摸球 P(A)=1-C(2n,2)/(3n,2)=1-(2n)*(2n-1)/3n(3n-1)=1-2(2n-1)/3*(3n-1)=(5n-1)/(9n-3) P(AB)=C(n,2

写一个随机洗牌函数——概率题

题目描述: 写一个随机洗牌函数.要求洗出的52!种组合都是等概率的. 也就是你洗出的一种组合的概率是1/(52!).假设已经给你一个完美的随机数发生器. 解题思路: 这是一道概率题 随机洗牌,目的是要做到随机性,要求每一张牌出现的概率要相等. 我们常用的普通扑克牌54张,要做到每张牌出现的概率是1/(54!), 抽第一张牌概率:1/54: 抽第二张牌概率:1/53: 抽第三张牌概率:1/52: -- 一直这样随机地拿下去直到拿完最后1张,我们就从52!种可能中取出了一种排列, 这个排列对应的概率

每天一道Java题[11]

题目 synchronized怎么实现线程同步?请修改<每天一道Java题[10]>中的MyRunnableThread类以解决三个线程都获取到10的问题. 解答 方法一: 采用synchronized关键字包裹需要保证线程安全的代码块,来实现线程同步.语法格式为: Synchronized(expression){ //需同步的代码 } <每天一道Java题[10]>中的MyRunnableThread类修改为: package me.huangzijian; public cl

每天一道Java题[3]

问题 为什么在重写equals()方法的同时,必须重写hashCode()方法? 解答 在<每天一道Java题[2]>中,已经对hashCode()能否判断两个对象是否相等做出了解释.equals()方法与hashCode()方法的关系如下: 如果两个对象的hashCode()返回值不一样,则equals()返回的结果必为false. 如果两个对象的hashCode()返回值一样的时候,equals()返回的结果未知. 如果两个对象的equals()返回的结果为true,则两个对象的hashC

一天一道算法题---6.26---二分查找

感谢微信平台---一天一道算法题----每天多一点进步-- 好累啊  现在在用win7自带的输入法 打起来真麻烦 快点把这2天的搞完就重装了 还是直接来源于----〉 待字闺中 分析 给定一个数组A,其中有一个位置被称为Magic Index,含义是:如果i是Magic Index,则A[i] = i.假设A中的元素递增有序.且不重复,请给出方法,找到这个Magic Index.更进一步,当A中允许有重复的元素,该怎么办呢? 没有重复元素的情况 一些同学在遇到这个题目的时候,往往会觉得比较简单.

一天一道算法题--6.25--无定义

感谢微信平台---一天一道算法题--每天多一点进步---- 其实今天我接下去补上的几题都来自---待字闺中 所以我就原封不动的将它的题目与分析搬过来了 原题 给定一个数组,我们可以找到两个不相交的.并且是连续的子数组A和B,A中的数字和为sum(A), B中的元素和为sum(B).找到这样的A和B,满足sum(A) - sum(B)的绝对值是最大的. 例如:[2, -1 -2, 1, -4, 2, 8]划分为A=[-1, -2, 1, -4], B=[2, 8], 最大的值为16 分析 如果没有

一天一道算法题---6.27---二分图

感谢微信平台---一天一道算法题---每天多一点进步--- Ah... last... 也很晚了 快2点半了 C罗也告别这届世界杯了  主要还是输给德国太多球了 美国也没赢 唉 还是来源于----> 待字闺中 原题 大家都知道facebook用户都是双向的好友,a是b的好友,那么b一定是a的好友,现在给定一个用户列表,其中有些用户是好友,有些不是,请判断,这些用户是否可以划分为两组,并且每组内的用户,互相都不是好友.如果能,请给出这个划分. 例子1: 用户:{1, 2, 3} 好友关系:1-2,

前端面试的一道算法题

(使用canvas解答) 下面说一个跟前端有点相关并且有点趣的一道算法题. 题目: 平面上有若干个不特定的形状,如下图所示.请写程序求出物体的个数,以及每个不同物体的面积. 分析 想要知道有多少个图形,想到的就是先获取图片中的每一个像素点然后判获取像素点的背景颜色(RGBA).想要获得图片中的每一个像素点,那就可以联想到使用h5的canvas.如下: 菜鸟教程中canvas的getimagedata方法http://www.runoob.com/tags/canvas-getimagedata.

一天一道算法题--6.19--二分搜索

感谢微信平台---一天一道算法题---每天多一点进步 这是昨天的 只贴下题目 == 再把今天的也是一样处理了   这2天 不想写 可能晚上会有改变吧.. problem: 给定一个最多包含40亿个随机排列的32位 二进制的无符号整数 找出不在文件中的数.显然 由于 2^32=4294967196大于4亿 所以缺少的数不止一个 现限制只能使用几个外部的临时文件和仅几百个字节的内存. ****************************** 过了明天 就没事了 =-= 一天一道算法题--6.19