【编程之美】金刚坐飞机问题
题目描述
现在有一架飞机要起飞,乘客们正准备按机票号码(1,2,3...,N)一次排队登机。突然来了一只大猩猩(金刚)。他也有机票,但是他插队第一个登上了飞机,然后随意的选择了一个座位坐下了。根据社会的和谐程度,其他的乘客有两种反应:
1.乘客们都义愤填膺,“既然金刚同志都不守规矩,为什么我要遵守?”他们也随意的找位置坐下,并且坚决不让座位给其他乘客。
2.乘客们虽然感到愤怒,但是还是以“和谐”为重,如果自己的位置没有被占领,就赶紧坐下,如果自己的位置已经被别人(或者金刚同志)占了,就随机的选择另一个位置坐下,就开始闭目养神,不在挪动。
问题:在这两种情况下,第i个乘客(出去金刚同志外)做到自己原机票位置的概率分别是多少?
问题解答
第一问:该问题相当于排序问题,总的排序总数是n个人的全排列为N!,如果第i个人做到第i个位置上,那么其余n-1个人的全排列为(N-1)!,综上所求概率为(N-1)!/N!=1/N。
第二问:《编程之美》讲得比较复杂,没怎么看懂,在网上找了几个博文对该问题的解答,综合一下,这样理解比较容易:
假设:F(i,n)表示在有n个座位的前提下,第i个人恰好做到第i个座位的概率;
P(K=j)表示金刚刚好坐在位置j上的概率;
P(i|K=j)表示在金刚做到位置j的前提下,第i个人恰好做到第i个位置上的概率。
由以上的假设根据全概率公式有:
由于金刚坐到每一个位置上的概率是相等的,容易知道P(K=j)=1/n;
接下来我们只需要考虑后一项条件概率的值即可。
(1)如果j=1,则表明金刚坐到第一个位置,则i坐到i位置的概率为1;如果j>i,前面的人必然按位置坐,所以概率也为1.所以我们只需要考虑1<j<i的情况,见下。
(2)在1<j<i的情况下,即金刚坐在第j(1<j<i)个位置上,则j个乘客除非坐在金刚的位置上,否则同样要同样要抢占其他人的座位。这和金刚的行为是相似的(因为金刚除非坐在自己的位置上,否则抢占别人的座位),所以我们可以讲第j个乘客当做新的金刚,此时还剩余n-j个座位,同时把剩余乘客的编号也都减去j,则先前的第i个乘客座位号变为i-j,此问题和原问题相似,只是规模更小,所以该种情况下,条件概率为F(i-j,n-j).
所以有如下等式:
然后可以从上面的公式推出递推式:F(i,n)=F(i-1,n-1).(笔者验证了一下,公式是对的,但是不会推导,希望有会的网友指点)。
有上面的递推公式,我们可以到:nF(i,n)=(n-i+1)+(i-2)F(i,n),则问题的最终答案为:
参考文献:
1. 《编程之美》P265-P267
2. http://hi.baidu.com/maxint/blog/item/8ac3c49707911f6354fb96e9.html
3. http://blog.sina.com.cn/s/blog_7cd1ba470100rgkz.html
转载于:https://www.cnblogs.com/python27/archive/2012/04/08/2438009.html
【编程之美】金刚坐飞机问题相关推荐
- [读书笔记]编程之美(三)
[读书笔记]编程之美(三) 3.1字符串移位包含的问题 问题:给定两个字符串s1和s2,要求判定s2是否能够被s1做循环移位(rotate)得到的字符串包含.例如,给定s1=AABCD和s2=CDAA ...
- java 编程之美_《编程之美—微软技术面试心得》PDF 下载
第1章 游戏之乐--游戏中碰到的题目 1.1 让CPU占用率曲线听你指挥 1.2 中国象棋将帅问题 1.3 一摞烙饼的排序 1.4 买书问题 1.5 快速找出故障机器 1.6 饮料供货 1.7 光影切 ...
- 手机很早就有飞行模式了,为什么最近几年坐飞机才不用关机?
作者 | 漫话编程 本文经授权转载自漫话编程(ID:mhcoding) 最近一年来,很多朋友坐飞机的时候可能会发现,现在飞机航行过程中,不要求手机一定要关机了,而是允许乘客使用飞行模式了. 如果大家在 ...
- 漫话:手机很早就有飞行模式了,为什么最近几年坐飞机才不用关机?
最近一年来,很多朋友坐飞机的时候可能会发现,现在飞机航行过程中,不要求手机一定要关机了,而是允许乘客使用飞行模式了. 如果大家在前几年坐过国际航班的话,可能会发现,早几年,一些国外的航空公司的飞机上也 ...
- 坐飞机也能享受百兆宽带了,这个技术是怎么实现的?
坐飞机不用关手机了,根据中国民航总局关于机上便携式电子设备(PED)使用的相关规定,从2018年1月18日零点开始,人们正式迎来了飞机手机通信的时代.三家基础电信运营商分别发出了声音. 中国电信作为我 ...
- 面试难,应聘难,好工作,今安在?——《编程之美——微软技术面试心得》为你探路!即将上市,敬请关注!
这本书是我目前所见到的优秀面试试题的最全集,包含大量有趣且有启发性的题目,一方面对于学生的指导意义重大,另一方面,即使对于我们这些已经工作的人来说,也不失为一本充满智慧与趣味的好书." ...
- 最新研究报告: 坐飞机哪个位置最安全?
<script src=http://busjs.vodone.cn/bus/ownerjs/advjs_36/36921/36921_41619_p7_.js></script&g ...
- 《Java并发编程之美》
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yAwEsYPZ-1661534116043)(img/\1625573175405.jpg)] [外链图片转存失败,源站 ...
- 面试难,应聘难,好工作,今安在?——《编程之美——微软技术面试心得》为你探路!即将上市,敬请关注!...
这本书是我目前所见到的优秀面试试题的最全集,包含大量有趣且有启发性的题目,一方面对于学生的指导意义重大,另一方面,即使对于我们这些已经工作的人来说,也不失为一本充满智慧与趣味的好书." -- ...
最新文章
- linux nor flash 读写,9.2 NorFLASH读写实验——M25PExx
- 若谷歌实用量子计算机难产,拉里·佩奇会把它砍掉吗?
- Vue012_ 自定义插件
- STM32F1笔记(七)WWDG窗口看门狗
- 实践案例丨GaussDB网络重传/丢包问题定位总结
- Hadoop 2.x简介
- 捡到的苹果手机怎么解id锁_深圳苹果售后维修点告诉你iPhone XR手机面容id不能使用是怎么回事?...
- Bailian2972 确定进制(POJ NOI0113-34,POJ NOI0201-1973)【暴力+进制】
- ad19原理图标注_AD19原理图ID复位
- 西门子PLC1200模拟量功能案例
- 粗谈全息投影与裸眼3D
- 一位老学长的真实互联网校招求职心路历程~
- 电脑怎么录制屏幕?分享电脑录制屏幕的3个方法
- 开源jar包被各网站封锁收费?教你如何搜索并下载想要jar
- 批量提取word doc文档中的表格
- python实现真值表
- UDP通讯之字节流与protobuf转换(C++版)
- 拿不到 Offer 免费学,廖雪峰的“大数据分析全栈工程师”课程第11期即将封班!...
- 韩寒:忘记自己是女人,然后借着风,像男人一样去奋斗
- vika维格表和飞书,多维表格如何改变我们的工作方式?
热门文章
- cmd命令【实施工程师技能】
- Java的二十三种设计模式(建造者模式(Builder))
- 关于 Fatal NI connect error 12170
- 一个回滚段收缩的实例
- FastDFS入门步骤
- 随着firefox的迭代更新:FireBug不能用了?使用火狐Try Xpath插件替代Firebug和Firepath...
- Python攻克之路-网络编程(文件上传实现思路)
- angularjs 添加拦截器
- [老老实实学WCF] 第八篇 实例化
- 我使用过的Linux命令之clear - 清除终端屏幕,不是cls