5位随机数重复的概率 php_面试中的常见概率题

期望题

1. 抛一个6面的骰子,连续抛直到6为止,问期望的抛的次数是多少

设期望次数为E,那么有:

[1]1次抛出6的概率为1/6,那么期望次数为1*1/6

[2]本次抛出非6数字的概率为5/6,因为没有抛出6,因此期待抛出6还需要执行试验的次数仍为E,需要注意加上本次(1次)失效的抛掷,即期望次数为(1+E)(5/6)

综合可得:

E = 1*(1/6) + (1+E)(5/6)

解得: E = 6

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

令E[i]表示木桶里有i个红球时,还需要抽取多少时间可以将所有球都染成红色,对于当前状态下E[i]的计算可以分解为两个部分:

[1] 抽取到的是红球: 需要的时间期望为 i/M * (1+E(i)),其中i/M表示抽取红球的概率,因为抽取到的是红球因此状态没有改变,仍然是E(i)

[2] 抽取到的是白球: 需要的时间期望为 (1-i/M) * (1+E(i+1)),其中(1-i/M)表示抽取到白球的概率,因为抽取到了白球,被涂成红色以后,木桶里将会有i+1个红球,因此状态迁移到 E(i+1)

注意加上当前实验的时间 1

综合可得:

E(i) = i/M *(1+E(i)) + (1-i/M) * (1+E(i+1))

化简可得:

E(i) = E(i+1) + M/(M-i)

显然有: E(M) = 0, 当前桶里M个球都是红色的,不用再做任何抽取操作

(编程时依次从E(M)计算到E(0),返回E(0)即可)

将递归式展开有:E(0) = M/M + M/(M-1) + ... + M/1 + 0

3. 若要使骰子(六个面)的每个数都出现至少一次,那么平均需要掷多少次骰子?即求掷骰子次数的期望

与前一题类似,设掷出第i个数需要抛掷的次数为E(i),i=1,2,3,4,5,6,(需要注意的是第i个数是值之前没有出现过的数字,而不是具体的值)

那么E(i)可由两部分组成:

E(i) = (i/6)(E(i)+1) + (1-i/6)(E(i+1)+1)

[1] (i/6)(E(i)+1) : 已经有i个数字出现了,那么当前抛掷出重复数字的概率为 i/6,状态仍然是E(i),加上当前实验1次

[2] (1-i/6)(E(i+1)+1) : 已经有i个数字出现了,那么当前抛掷出新数字的概率为 1-i/6,状态转移到E(i+1),即当抛掷出了i+1个数字后,仍需要抛掷次数的期望,别忘加当前试验 1 次

E(i) = E(i+1) + 6/(6-i), E(6) = 0

E(0) = 6/6 + 6/(6-1) + ... + 6/1 + 0

4. 你有一把宝剑。每使用一个宝石,有5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值