> 文章列表 > 互联网公司面试最频繁考察的概率题汇总

互联网公司面试最频繁考察的概率题汇总

互联网公司面试最频繁考察的概率题汇总

文章目录

    • 技术交流
    • 第1题
    • 第2题
    • 第3题
    • 第4题
    • 第5题
    • 第6题
    • 第7题
    • 第8题
    • 第9题
    • 第10题
    • 第11题
    • 第12题
    • 第13题
    • 第14题
    • 第15题
    • 第16题
    • 第17题
    • 第18题
    • 第19题
    • 第20题
    • 第21题
    • 第22题
    • 第23题
    • 第24题
    • 第25题
    • 第26题
    • 第27题
    • 第28题
    • 第29题
    • 第30题
    • 第31题
    • 第32题

无论应聘数据分析师、算法,或者其他与数据类岗位,各大名企经常出现概率类面试题。

究其原因,概率型面试题可以综合考查面试者的思维能力、应变能力、数学能力。

如果不做准备,临时发挥思考会特别费时费力。在这里我和粉丝群的小伙伴对概率型题目进行了收集和总结,希望对大家有所帮助。

技术交流

技术要学会分享、交流,不建议闭门造车。一个人走的很快、一堆人可以走的更远。

本文来自技术群粉丝分享整理,文章源码、数据、技术交流,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、添加微信号:pythoner666,备注:来自CSDN +备注来意
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

第1题

问题:一根木棒,截成三截,组成三角形的概率是多少?

答:

设第一段截x,第二段截y,第三段1-x-y。
考虑所有可能的截法。可能的截法中必须保证三条边都是正数且小于原来边长,则有0<x<1,0<y<1,0<1-x-y<1,画图可知,(x,y)必须在单位正方形的左下角的半个直角三角形里,面积为1/2。

然后考虑能形成三角形的截法。首先要满足刚才的三个条件0<x<1,0<y<1,0<1-x-y<1,然后必须符合三角形的边的要求,即两边之和大于第三边,x+y>1-x-y,x+1-x-y>y,y+1-x-y>x,化简即得
0<x<1/2,0<y<1/2,1/2<x+y<1

画图可知,此时(x,y)必须在边长为1/2的三角形的右上角的半个直角三角形里,面积为1/8。

于是最终概率为 (1/8)/(1/2) = 1/4。

第2题

问题:抛一个六面的色子,连续抛直到抛到6为止,问期望的抛的次数是多少。

答:

因为每次抛到6的概率相等,都是1/6,于是期望的次数就是1/(1/6)=6次。

下面用一种不一样的方法解答,假设期望的次数为E。考虑第一次抛,如果已经抛到6了(概率为1/6),那么就不用再抛了。如果没抛到6(概率为5/6),那么还需要继续抛,可是还要抛多少次呢?

显然,现在开始知道抛到6的次数仍然是E,但是刚刚已经抛了一次了于是可以得到这个等式
E = 1 * 1/6 + (1 + E) * 5/6,

解得 E = 6。即期望的次数为6次。

第3题

问题:一个木桶里面有M个白球,每分钟从桶中随机取出一个球涂成红色(无论白或红都涂红)再放回,问将桶中球全部涂红的期望时间是多少?

答:

令桶中有i个红球后再把全部球涂红的期望时间为a[i],此时再取出一个球,如果是红色的(概率为i/M),则直接放回,且剩余的期望时间仍是a[i]。如果是白色的(概率为1-i/M),则涂红后放回,剩余的期望时间为a[i+1],

则 a[i] = (1 + a[i]) * i/M + (1 + a[i+1]) * (1 – i/M)

即   a[i] = a[i+1] + M/(M-i)

显然,有a[M] = 0

可以解得 a[0] = M/M + M/(M-1) + … + M/1 + 0

第4题

问题:你有一把宝剑。每使用一个宝石,有50%的概率会成功让宝剑升一级,50%的概率会失败。如果宝剑的级数大于等于5的话,那么失败会使得宝剑降1级。如果宝剑的级数小于5的话,失败没有效果。问题是:期望用多少个宝石可以让一把1级的宝剑升到9级?

答:

问题比较简单,用a[i]表示从第i-1级升到第i级期望使用的宝石数量。

当i<=5时,因为不会降级,则期望的数量均为2,即a[2] = a[3] = a[4] = a[5] = 2

当i>5时,因为会降级,成功时一个宝石就够了,不成功时需要倒退一级,需要先使用a[i-1]个宝石先回到i-1级,再使用a[i]个宝石升到第i级,即
a[i] = 1 * 1/2 + (1 + a[i-1] + a[i]) * 1/2

即 a[i] = a[i-1] + 2

可知,a[6]= 4, a[7] = 6, a[8] = 8, a[9] = 10

则1级到9级需要的宝石数为 a[2]+…+a[9] = 36。

第5题

问题:已知有个rand7()的函数,返回1到7随机自然数,怎样利用这个rand7()构造rand10(),随机1~10。

答:

产生随机数的主要原则是每个数出现的概率是相等的,如果可以得到一组等概率出现的数字,那么就可以从中找到映射为1~10的方法。

rand7()返回1~7的自然数,构造新的函数 (rand7()-1)*7 + rand7(),这个函数会随机产生149的自然数。原因是149中的每个数只有唯一的第一个rand7()的值和第二个rand7()的值表示,于是它们出现的概率是相等。

但是这里的数字太多,可以丢弃4149的数字,把140的数字分成10组,每组映射成1~10中的一个,于是可以得到随机的结果。

具体方法是,利用(rand7()-1)*7 + rand7()产生随机数x,如果大于40则继续随机直到小于等于40为止,如果小于等于40,则产生的随机数为(x-1)/4+1。

第6题

问题:给出从n个数中随机选择m个数的方法。n很大,可以认为是亿级别。m可以很小,如接近1;也可以很大,如接近n。

答:

一个直接的思路是一直重复地随机,直到随机到m个数为止。这个方法有两个弊端:
1. 难以直到后面随机到的一个数是否在前面已经随机过了,因为数据量很大,无法保存在内存中,如果保存到外存中则时间花费太大。

2. 如果m很大,甚至接近于n,则后面随机到的数字基本上都是前面随机过的,因而需要尝试的随机次数太多。
一个思路是每个数被选中的概率是m/n,则可以遍历一遍原数据,在遍历每个数字的同时以m/n的概率决定是否要选择当前数字,则当遍历完毕的时候,选择到的数字在平均意义就是m个。这个会随着n的增大而更好地趋近于m,但不能很精确地保证随机到的数字一定是m个。

以上思路虽然不能满足要求,但我们可以进行改进。刚才我们在遍历每个数字的时候都是以同样的概率m/n决定是否要选择该数字,实际上,在当前遍历数字的前面的数字的结果我们是已经知道了,我们可以根据前面的随机结果动态地调整当前的随机策略,使得最终能够保证随机到的数字一定是m个。

具体的做法是,遍历第1个数字时有m/n的概率进行选择,如果选择了第1个数字,则第2个数字被选择的概率调整为(m-1)/(n-1),如果没选择第1个数字,则第2个数字被选择的概率为m/(n-1)。即遍历到第i个数字的时候,如果此时已经选择了k个,则以(m-k)/(n-i+1)的概率决定是否要选择当前的第i个数字。

这样可以保证每次都能够保证在剩下的数字中能选择适当的数使得总体选择的数字是m个。比如,如果前面已经随机了m个,则后面随机的概率就变为0。如果前面一直都没随机到数字,则后面随机到的概率就会接近1。最终得到的结果始终精确地是m个数字。

第7题

问题:给出从n个数中随机选择1个的方法。注意,n非常大,并且一开始不知道其具体值。数字是一个一个给你的,当给完之后,你必须立刻给出随机的结果。

答:

这里n的值非常大,而且要求立即给出答案,所以不能把所有的数字先保存起来,然后再慢慢考虑要随机哪个。

这题跟上面一题比较类似,因为我们不知道数字到底有多少个,所以必须在得到每一个数字的时候就有一个当前的结果,这样在数字给完的时候可以给出答案。

于是第1个数字是必须要拿的。问题是当第2个数字来的时候,究竟要保留手上的数字,还是拿当前的第2个数字呢?更一般地,当第i(i>1)个数字来的时候,究竟是保留手上的数字,还是选择当前的第i个数字呢?

答案是要保证每个数字被选取的概率是相等,当第i个数来的时候,如果我们已经保证了前i-1个数每个数被选取的概率都是相等的,那么只要第i个数字被选取的概率是1/i,我们就可以知道所有i个数被选取的概率都是1/i了。所以只需要以1/i的概率决定是否要选取当前的第i个数字即可。

于是可以保证对于任意的n,当给完n个数字时,选择每个数字的概率都是相等的,为1/n。

第8题

问题:给出从n个数中随机选择m个的方法。注意,n非常大,并且一开始不知道其具体值。数字是一个一个给你的,当给完之后,你必须立刻给出随机的结果。

答:

这题是上一题的推广,于是可以仿照着进行。
首先前m个数字是必须拿的。问题是当第i(i>m)个数字来的时候,究竟是要丢弃这个数,还是保留这个数?如果要保留这个数的话,则必须得丢弃手中已有的m个数,那是怎么确定丢弃哪个呢?

下面是就具体的做法。第i个数到来的时候,以m/i的概率决定是否要选择这个数字。如果选择了这个数字,则随机地替换掉手上m个数字中的一个。

如果前i-1个数字的时候保证了每个数字被选取的概率相等,则这样做之后可以保证每个数字被选取的概率也相等,为m/i。
1. 第i个数选择的概率是m/i,因为算法就是这样决定的。

2. 考虑前i-1个数字中的任意一个,它在第i个数之前被选择的概率是m/(i-1)。在第i个数字的时候,这个数字要被选择的话又两种可能,一是第i个数没有被选中(概率是1-m/i),二是第i个数倍选中了(概率是m/i)但是替换掉的数字不是它(概率是1-1/m),于是这个数在第i个数时仍然被选择的概率是m/(i-1) * ((1-m/i) + (m/i * (1-1/m))) = m / (i-1) * ((i-1) / i) = m/i。

由数学归纳法原理知,对于任意的n,当给完n个数的时候,选择的结果可以保证这n个数中每个被选中的概率都是相等

第9题

问题: 一个桶里面有白球、黑球各100个,现在按下述规则取球:
- i 、每次从桶里面拿出来两个球;
- ii、如果取出的是两个同色的求,就再放入一个黑球;
- iii、如果取出的是两个异色的求,就再放入一个白球。
问:最后桶里面只剩下一个黑球的概率是多少?

答:

动态规划,令f[i,j]表示有i个白球,j个黑球的概率。
已知f[100,100] = 1, 求f[0,1]。
拿到两个白球: f[i-2,j+1] = i/(i+j) * (i-1)/(i+j-1) * f[i,j]
拿到两个黑球: f[i, j-1] = j/(i+j) * (j-1)/(i+j-1) * f[i,j]
拿到一黑一白: f[i, j-1] =2 * i/(i+j) * j/(i+j-1) * f[i,j]

第10题

问题:10个人出去玩,集合时间有10分钟,每个人都在该时间内到达,概率均匀分布,彼此独立,那么最后一个人最有可能到达的时间是?

答:

遇到这种想不明白,最好的方法就是枚举。
若最后一个人在10分钟到达(概率1/10),其他人也都已经到达了(概率是1),总概率是 19 * (1/10)
若最后一个人在9分钟到达(概率1/10),其他人到达的概率是(9/10)9,总概率是 (9/10)9 * (1/10)
依此类推。可见概率最大的是第10分钟。

第11题

问题:100个人排队,每个人只能看到自己之前的人的帽子的颜色(假设只有黑白两色),每个人都得猜自己帽子的颜色,只能说一次,说错就死掉,别人可以听到之前的人的答案以及是否死掉。请问用什么策略说死掉的人最少。

答:

假设只有3个人,假设ture = 白,false = 黑,用这个公式x3 = (x1 == x2),用人话就是1和2的帽子颜色一样的话就说白,不一样的话就说黑。这个策略第一个人死的概率是1/2,剩下的两个都不会死。

推广到4个人,也就是x4 = (x3 == (x1 == x2)),照理可以推广到100人。但问题就是人很难判断,只能靠计算机来算。
另一个解题方法:“最后一个人看一下前面黑帽子的个数是奇数还是偶数,比如约定奇数说黑,偶数说白。这样前面的人都可以推断出来正确的结果。”

第12题

问题:54张牌,平均分成三堆,大小王在同一堆的概率?

答:

先平均分三堆,大王在第一堆的概率是1/3, 小王在剩下的53张牌中,有17/53的概率和大王同一堆。依此类推,大王还可能在2,3堆,因此
1/3∗17/53∗3=17/53

第13题

问题:买饮料,三个瓶盖可以换一瓶,请问要买100瓶饮料,最少需要买多少瓶?

答:

设要买x瓶。
x+x/3>=100
对么?小心!x/3瓶如果满3瓶还可以再换的,想象某人堵在小卖部门口狂开瓶。因此应该是
x+x/3+x/9+…+x/3n>=100
n=log3x
x(1−1/3n)/(1−1/3)>=100
x(1−1/x)>=200/3
x=68

不过我返回去算了下, 发现x=68只能买99瓶…毕竟算的时候当x是实数了,因此还是再返回来推一下的靠谱,x=69。

第14题

问题:有一个很大很大的输入流,大到没有存储器可以将其存储下来,而且只输入一次,如何从这个输入流中等概率随机取得m个记录。

答:

如果可以输入两次,那就可以统计出总数N, 再随机0到N-1数,判个重。但是这里只能输入一次,这里给出两种方法。

第一种。在输入的过程中,给每个记录一个[0,1]的随机数,最后取随机数最大的前m个记录。可以用m大的小根堆来维护。

第二种,蓄水池抽样 或 reservoir sample。假设输入到第n个记录了,以m/n的概率取该数,如果取中则随机替换掉原来取中的m个记录中的一个。初始时,选中前m个记录。乍一看好像不靠谱,一证明就服了。证明也很简单。
假设n-1时成立,即前n-1个记录,均以m/(n-1)的概率来判断是否选中。我们要证明,输入第n个记录后,前n个记录均以m/n的概率来判断是否选中。

对于第n个记录,以m/n的概率选择它,ok,满足要求。现在来看剩下的前n-1个记录。对于在前n-1记录中被选中的第i个记录,当前保持被选中的可能,要么是第n个记录没有被选中 (1-m/n) * (m/(n-1)),要么是第n个记录选中了但是i没有被替换掉 m/n * (m-1)/m * m/(n-1),两者相加正好等于m/n,就是这么酷。

此外还有扩展版,以不同权重被选中,参考此文

第15题

问题:在一条高速公路上,在30分钟内看到一辆汽车的可能性是0.95,那么在10分钟内看到一辆车的概率是多少?(假设过车的概率是恒定的)

答:

记10分钟内看到车的概率为p. 那么30分钟都没看到车的概率是(1−p)3=1−0.95=0.05

所以p=1−0.051/3

第16题

问题:你和朋友去参加一个晚会,带你和朋友在内,共有10人。你的朋友和你打赌,你找到一位和你同一天生日的,你就得到1美元,他找到的任何一个和你生日不同的人,他得到2美元。你会打这个赌吗?

答:

题目描述有些微妙,这里姑且这么理解,你找到一个相同生日的就得1美元,找到两个2美元,依次类推。他找到一个和你生日不同的得2美元,找到多少人都是2美元。
假设一年365天,大家都是同一年出生(同龄人嘛)。他拿到钱的期望是2∗(1−(1/365)10). 你拿到1美元的概率是 C1101/365(364/365)9, 2美元的概率是 C210(1/365)2(364/365)7…这是二项分布嘛,期望是np=10∗1/365=10/365. 看过来对方那个数更大,所以不能赌。

第17题

问题:一个三角形, 三个端点上有三只蚂蚁,蚂蚁可以绕任意边走,问蚂蚁不相撞的概率是多少?
乍一看有点蒙…

答:

其实很简单…
1.每个蚂蚁在方向的选择上有且只有2种可能,共有3只蚂蚁,所以共有2的3次方种可能
2.不相撞有有2种可能,即全为顺时针方向或全为逆时针方向。

不相撞概率=不相撞/全部=2/8

第18题

问题:史密斯夫妇握手问题

史密斯夫妇邀请另外四对夫妇就餐,已知他们每个人都不和自己握手、不和自己的配偶握手、且不和同一个人握手一次以上。在大家见面握手寒暄后,史密斯问大家握手了几次,每个人的答案都不一样。问:史密斯太太握手几次

答:
1. 总共10个人,每个人不与自己握手,不与配偶握手,不与同一个人握超过一次手,所以每个人最多握8次手,最少0次;
2. Mr.Smith问其它9个人握了几次手,各人回答不一样,所以每个人的握手次数刚好为0-8次,每种不同次数有1个人;
3. 有且只有一个人握了8次手,称之为A,即A与其配偶以外的所有人都握了手;
4. 记A的配偶为a,除了A夫妇以外,所有人都至少握了1次手(和A),所以握手0次的肯定是a;
5. 从10个人中去掉A夫妇,因为A与其余每个人握了1次手,而a没有与别人握手,所以去掉A夫妇后,其它人的握手次数为1-7(不算Mr.Smith),再去掉他¬们各自与A握的那次手不算,则各人的握手次数为0-6,还是每种不同次数刚好有1个人;
6. 重复第3-5步4次,直到去掉4对夫妇,最终剩下Mr.&Mrs.Smith,这时Mrs.Smith的握手次数为0,加上4次循环中去掉的4次握手,她总共握¬了4次手,与每对夫妇中的某一位各握了一次。

一对夫妇,邀请N-1对夫妇参加晚会。夫妇之间,丈夫肯定认识妻子。每个人和自己不认识的人都要握手一次。握手完了之后,男主人站出来问了其他所有人的握手情况。发现,任何一个人的握手情况都和别人不相同。问你,女主人握了几次手(答案是N-1次)

第19题

问题:A城一个商人有一头驴子和3000根胡萝卜.要将萝卜拉到1000公里外的B城去卖,只能用驴子驮。已知驴子一次性可驮1000根胡萝卜,但每走一公里要吃掉一根胡萝卜.问商人共可卖出多少胡萝卜?

答:

这题的问题出在给的条件不充分,可能有两种情况,一种是非理想状态的拉运萝卜,这种情况的话,一个也不能卖出去;第二种为理想状态下的,就是能在每走一公里的时候能够卸货下来,并且还没有其他的外在因素使得萝卜丢失,这样的理想状态下能够运送到B城833个萝卜。

计算过程如下:1、因为有3000萝卜,所以消耗掉前面的1000个萝卜的时候,每前进一公里要来回3次消耗3个萝卜,因此第一次前进了X公里,X=1000/3=333余数为1;2、剩下的2001个萝卜在第334公里的时候需要来回3次才能运送完,我们就将这一公里路算在2000个萝卜在第一次运送的时候算在一起,那么第二次运送萝卜只需要来回2次消耗2个萝卜,因此第二次消耗1000个萝卜前进了Y公里,Y=1000/2=500;现在前进了500+333=833公里,剩下167公里后,萝卜也只剩下了1000个,所以就这1000个直接中途不卸货的一次到达B城,消耗167个萝卜,所以最后剩下1000-167=833个萝卜。

第20题

问题:八皇后问题

算法介绍八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。

答:

八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n×n,而皇后个数也变成n。当且仅当 n = 1 或 n ≥ 4 时问题有解。

第21题

问题:三人陪审团,其中两人每人做出正确决定的概率是P。另一人总是靠扔硬币来决定支持谁。最后由多数票决定结果。另一个审判由一人决定,这个人做出正确决定的概率也是P。问三人陪审团与一人审判谁有更大概率做出正确决定?

答:

一样大,概率都是p

因为三人陪审团的话,正确的概率是
p*(1-p)*0.5+p*(1-p)*0.5+p*p*0.5+p*p*0.5=p

第22题

问题:有一苹果,两个人抛硬币来决定谁吃这个苹果,先抛到正面者吃。问先抛这吃到苹果的概率是多少?

答:

这种题目一看似乎答案就是1/2,但其实认真细想并没有那么简单。

给所有的抛硬币操作从1开始编号,显然先手者只可能在奇数(1,3,5,7…)次抛硬币得到苹果,而后手只可能在偶数次(2,4,6,8…)抛硬币得到苹果。设先手者得到苹果的概率为p,第1次抛硬币得到苹果的概率为1/2,在第3次(3,5,7…)以后得到苹果的概率为p/4(这是因为这种只有在第1次和第2次抛硬币都没有抛到正面(概率为1/4=1/2*1/2)的时候才有可能发生,而且此时先手者在此面临和开始相同的局面)。所以可以列出等式p=1/2+p/4,p=2/3。

现在答案已经很明确了,所以大家平时要注意不要这样被人骗了,当然也不能去骗别人,哈哈~

第23题

问题:一条长度为l的线段,随机在其上选2个点,将线段分为3段,问这3个子段能组成一个三角形的概率是多少?

答:

设随机选取的两个数为x,y,并令y>x,则把长度为1的线段截得的三段长度为x, y-x ,1-y,根据三角形两边和大于第三边以及两边之差小于第三边的定理,可以列出方程组
y>1-y; x<1-x; x+(1-y)>y-x;
即x<1/2; y>1/2; y>x+1/2;

画图可以算得概率为1/8;

第24题

问题:你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子然后从里面随机选出一个弹球,怎么给出红色弹球最大的选中机会?在你的计划里,得到红球的几率是多少

答:

题目意思是两个罐子里面放了50红色和50蓝色弹球,然后我任选一个罐子,从中选中一个红球的最大概率,是设计一个两个罐子里怎么放这100球的计划。一个罐子:1个红球另一个罐子:49个红球,50个篮球几率=1/2+(49/99)*(1/2)=74.7%

第25题

问题:一副扑克牌54张,现分成3等份每份18张,问大小王出现在同一份中的概率是多少?

解答1:

54张牌分成3等份,共有M=(C54取18)*(C36取18)*(C18取18)种分法。

其中大小王在同一份的分法有N=(C3取1)*(C52取16)*(C36取18)*(C18取18)种。

因此所求概率为P=N /M=17/53。

解答2:

不妨记三份为A、B、C份。大小王之一肯定在某一份中,不妨假定在A份中,概率为1/3。然后A份只有17张牌中可能含有另一张王,而B份、C份则各有18张牌可能含有另一张王,因此A份中含有另一张王的概率是17/(17+18+18)=17/53。

也因此可知,A份中同时含有大小王的概率为1/3 * 17/53。

题目问的是出现在同一份中的概率,因此所求概率为3*(1/3 * 17/53)=17/53。

第26题

问题:假设你参加了一个游戏节目,现在要从三个密封的箱子中选择一个。其中两个箱子是空的,另一个箱子里面有大奖(你偶像的签名^^)。你并不知道奖在哪一个箱子里,但主持人知道。游戏节目的主持人先要你选择一个箱子,接着他把你没有选的空箱子打开,以证明它是空的。最后主持人给你换箱子的机会,你可以把你所选择的箱子换成另一个没有打开的箱子。此时你该不该换箱子?

分析:

要相信直觉。你当然应该换箱子!我们把三个箱子编号A,B,C,并假设你选的是A箱。显然奖品在A里的概率是1/3,在B或C里的概率是2/3。B和C可能有一个是空的,也可能两个都是空的。因此,当你选择了A箱后,主持人很可能会打开B箱或C箱,以显示里面是空的。在这种情况下,主持人的举动并不会影响奖品在A箱里面的机会。我们假设主持人打开了B箱,以告诉你它是空的。现在A箱有奖品的概率还是1/3,B箱里面有奖品的概率是0,因此C箱里面有奖品的概率是2/3。在这种情况下,你应该换到C箱,因为它使你赢的机会提高了1倍!

第27题

问题:有一苹果,两个人抛硬币来决定谁吃这个苹果,先抛到正面者吃。问先抛者吃到苹果的概率是多少?

分析:

我首先想到的就是把 第一次抛到正面的概率 + 第二次抛到的概率 + ……+无穷多次,当然后面的概率几乎为0了。 结果就是 P = 1/2 + 1/8 + 1/32+ …… 最后的结果就是 P = 2/3 . 这个计算也不难,其实就是等比数列,比为1/4. 简单的无穷级数 (1/2) / (1-1/4) = 2/3. 1/(1-x)2=1+2x+3x2+4x3+5x4+… (-1<x<1)

还有一个别人的分析:给所有的抛硬币操作从1开始编号,显然先手者只可能在奇数(1,3,5,7…)次抛硬币得到苹果,而后手只可能在偶数次(2,4,6,8…)抛硬币得到苹果。设先手者得到苹果的概率为p,第1次抛硬币得到苹果的概率为1/2,在第3次(3,5,7…)以后得到苹果的概率为p/4(这是因为这种只有在第1次和第2次抛硬币都没有抛到正面(概率为1/4=1/2*1/2)的时候才有可能发生,而且此时先手者在此面临和开始相同的局面)。所以可以列出等式p=1/2+p/4,p=2/3。

第28题

问题:有一对夫妇,先后生了两个孩子,其中一个孩子是女孩,问另一个孩子是男孩的概率是多大?

答:

答案是2/3.两个孩子的性别有以下四种可能:(男男)(男女)(女男)(女女),其中一个是女孩,就排除了(男男),还剩三种情况。其中另一个是男孩的占了两种,2/3. 之所以答案不是1/2是因为女孩到底是第一个生的还是第二个生的是不确定的。

第29题

问题:一个国家人们只想要男孩,每个家庭都会一直要孩子,只到他们得到一个男孩。如果生的是女孩,他们就会再生一个。如果生了男孩,就不再生了。那么,这个国家里男女比例如何?

答:

一开始想当然的以为男多女少,毕竟都想要男孩。但是注意这句话“如果生了男孩,就不再生了”,一个家庭可能有多个女孩,只有一个男孩。再仔细分析,我们来计算期望值,只用计算一个家庭就行了。设一个家庭男孩个数的期望值为S1,女孩为S2.

根据题目条件,男孩的个数期望值S1=1这个是不用计算了。主要计算S2

一个家庭的孩子数量可以为:1,2,3,4,5…… 对应的的男女分布为: “男”,”女男”,”女女男”,”女女女男”,”女女女女男”…

对应的概率分布为 1/2, 1/4, 1/8, 1/16, 1/32 。其中女孩的个数分别为 0,1,2,3,4……

因此 S2=0*1/2 + 1*1/4 + 2*1/8 + 3*1/16 + 4*1/32 + ………

可以按照题目2用级数求,也可以用错位相减法:S2=1/4+2/8+3/16+4/32+… 两边乘以2,得: 2*S2=1/2+2/4+3/8+4/16+5/32+…

两个式子相减得 S2=1/2+1/4+1/8+1/16+1/32+…=1. 所以期望值都为1,男女比例是一样的。

第30题

问题:10个人出去玩,集合时间有10分钟,每个人都在该时间内到达,概率均匀分布,彼此独立,那么最后一个人最有可能到达的时间是?

答:
遇到这种想不明白,最好的方法就是枚举。
若最后一个人在10分钟到达(概率1/10),其他人也都已经到达了(概率是1),总概率是 19 * (1/10)
若最后一个人在9分钟到达(概率1/10),其他人到达的概率是 (9/10)9 ,总概率是 (9/10)9 * (1/10)
依此类推。可见概率最大的是第10分钟。

第31题

问题:你和朋友去参加一个晚会,带你和朋友在内,共有10人。你的朋友和你打赌,你找到一位和你同一天生日的,你就得到1美元,他找到的任何一个和你生日不同的人,他得到2美元。你会打这个赌吗?

答:
题目描述有些微妙,这里姑且这么理解,你找到一个相同生日的就得1美元,找到两个2美元,依次类推。他找到一个和你生日不同的得2美元,找到多少人都是2美元。

假设一年365天,大家都是同一年出生(同龄人嘛)。他拿到钱的期望是 2∗(1−(1/365)10) . 你拿到1美元的概率是 C1101/365(364/365)9 , 2美元的概率是 C210(1/365)2(364/365)7 …这是二项分布嘛,期望是 np=10∗1/365=10/365 . 看过来对方那个数更大,所以不能赌。

第32题

问题:已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10。

答:

利用的方法和上个问题类似,如何能够得到一个等概率的独立事件。这个问题和上个问题不同的是,这里产生的序列,要变成和的形式或者其他的形式,那么概率就会发生变化了。

如果能够得到一组等概率的数,不管是什么数,只要等概率而且个数大于10,那么问题就可以解决了。

发现(rand7()-1)*7+rand7(),可以等概率的生成1到49。

呵呵,这不就得了,只要把11-49砍掉就可以了。不过这样的效率比较低。可以砍掉41-49,然后在把1-40映射到1-10,那么问题也就解决了。