编程之美读书笔记_4.1_金刚坐飞机问题

4.1_金刚坐飞机问题

 

对问题一,每个人都是随机选择座位,任意一个人坐在指定座位的概率相同,因而第i个乘客坐在其座位的概率是 1/n

 

对问题二,答案和金刚的原来座位编号有关。不妨先去除金刚的座位,将乘客(根据机票号)和剩下的座位,按原大小顺序从1开始重新编号。用F(in)表示在新排列中(共有n-1个乘客座位和金刚原来的座位),新的第i个乘客坐在其原来座位的概率,则在n个座位中,金刚若挑自己的座位或选的座位在第i个座位后(共有n-i个座位满足这个条件),则第i个乘客肯定能坐到原来的座位,金刚若挑选的座位在第i个座位前,不妨假设为j,则第j个乘客除非坐到金刚的座位,不然就会抢其他人的座位,因为他的行为和金刚相似,可以将他当做金刚处理,去除前j个座位,剩下的座位和乘客再按原大小排序重新从1开始编号,则先前的第i个乘客,其座位号变为i-j,新的总座位数变为n-j。因此可得公式:

 

 

《编程之美读书笔记_4.1_金刚坐飞机问题》

 

G(i, n)表示原排列中,第i个乘客坐到自己座位的概率,假设金刚的座位编号为j

i<j   G(i,n)=F(i,n)= (n-i)/(n+1-i)

i>j    G(i,n)=F(i-1,n)= (n+1-i)/(n+2-i)

 

 

类似题:“约瑟芬环:n个人,编号为0n-1,围成一圈,从编号为0的开始,从1开始报数,所有报到m的出列,下一个人从1开始继续报数。求最后一个人的编号。”

 

    原文作者:flyinghearts
    原文地址: https://blog.csdn.net/flyinghearts/article/details/5605994
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞