麦序捕鱼的中奖概率

前一阵子看了Hello上有个麦序捕鱼的游戏,其规则大概是这样的:

  1. 两个人(相当于庄家)从0到8中各抽一个数字a和b(每种个数字出现的概率是等概的)
  2. 玩家在从0到8中抽1个数字c,若这个数字在以上两个数字之间(a

现在来算一下玩家获胜的概率

基本思路

  • 从0到8总共有9种状态,为了方便起见,假设总共有n种状态,那么,所有的可能总共有n3
  • 接下来,计算玩家获胜的可能性,获胜的种类以|a-b|区分
  1. |a-b|<=1时,这个时候无论c取值为多少,玩家都会输,因此没有获胜的可能
  2. 如果|a-b|=2(n>2,这个可能性总共有(n-2)*2种(如果a
  3. 如果|a-b|=i(n>i),不难得出这个可能性总共有(n-i)*i种,该条件下c满足条件的可能有i-1种
  4. 把这些获胜的可能求和,在除以n3便可得出获胜的概率

编程实现(swift)

func rate(number n:Int)->Double{
    if n<3{
        return 0.0
    }
    var totalCount = 0
    for i in 1..

计算结果

当n为9时,获胜概率为0.2304

当n→∞时,获胜概率收敛于0.3333...

你可能感兴趣的:(麦序捕鱼的中奖概率)