我想到了一个不用公式,简单就能理解的方法。 (聊天灌水) 278次阅读
观看【剑剑风流】的博客其实这就是一个“击鼓传花”的游戏。我们把丢票的人定义为“无票者”,他的座位定义成“无票位”,最后一个定义为“末位者”,他的座位定义成“末位座”。
问题的关键在于,这个“无票者”是会变换的。但无论如何变换,“无票者”只有一个,“无票位”始终是1号位。譬如,最开始的1号“无票者”做了4号位,那么4号变成了新的“无票者”,1号位实际上就成了4号的“无票位”。
如果一开始系统样本数为N,那么在每一次变换之后,样本数都减一,游戏继续,直到游戏终止。
我们需要知道“末位者”坐上“末位座”的几率是多少。也就是说,使这个“击鼓传花”游戏终止的条件只有两个:
1.末位者坐上末位座,只有一种可能:就是“无票者”坐上了“无票位”。这个可能性随着样本数变化是1/N,或1/(n-1),以此类推。
2.末位者失去末位座,也只有一种可能,就是“无票者”坐上了“末位座”。这个可能性随着样本数变化是1/N,或1/(n-1),以此类推。
这两种情况的几率是完全相等的,各自是50%。
换一个角度来解释:我们要知道“末位座”被“末位者”坐上的几率是多少。
实际上,不管总人数多少,只有两个人可能坐上“末位座”:“无票者”和“末位者”。所以每个人坐上的几率都是50%。
这个游戏中,“无票者”的开始号码是不重要的,因为这决定系统从何时开始进入这个游戏。但是“末位者”一定要是最后一个才行。如果问题变成“2号票坐上自己座位的几率是多少”?那结果就完全不同。
完整帖子:
- 题来了:100个座位 - 白沙纱, 2015-05-14
- 俺笨又不爱动脑筋, 管那99个人坐哪儿呢, 我的座位要么空着, 要么被占, 我有一半的几率坐在自己票座位上. - 灶君, 2015-05-14
- 99不是问题,n>2都一样的,100只是方便说法。 - 白沙纱, 2015-05-14
- 沙纱你是咋做的?发上来我学习一哈。 - 剑剑风流, 2015-05-14
- 哎呀我做的好复杂,肯定是多绕了很多圈子,就是死算 - 白沙纱, 2015-05-15
- 你好厉害,女娃娃想这么复杂的公式啊,我看得一个头两个大。我想到你说的那种方法了,写在下头。 - 剑剑风流, 2015-05-15
- 就是排版不行,用手写就容易看了,我的方法就好比鸡兔同笼直接用一元二次方程,思路容易理解,但是算起来复杂 - 白沙纱, 2015-05-15
- 你好厉害,女娃娃想这么复杂的公式啊,我看得一个头两个大。我想到你说的那种方法了,写在下头。 - 剑剑风流, 2015-05-15
- 哎呀我做的好复杂,肯定是多绕了很多圈子,就是死算 - 白沙纱, 2015-05-15
- 沙纱你是咋做的?发上来我学习一哈。 - 剑剑风流, 2015-05-14
- 99不是问题,n>2都一样的,100只是方便说法。 - 白沙纱, 2015-05-14
- 题目说旅客们按顺序依次就座,那么只有两个可能,一个是 - 丽桥游子, 2015-05-14
- 是很简单的, 不过不是没票的人, 是最后那个人。哈 - 白沙纱, 2015-05-14
- 原来我自己简化了题目,哈哈:) - 丽桥游子, 2015-05-15
- 是很简单的, 不过不是没票的人, 是最后那个人。哈 - 白沙纱, 2015-05-14
- 简化为两个人坐两个座位。一人没票先坐,剩下那个当然是百分之五十的概率。 - 小木, 2015-05-14
- 恩, 先两人再递归 - 白沙纱, 2015-05-14
- 俺试着来解释一下。:) - 秋叶静美, 2015-05-14
- 看明白了,太牛了, 困扰我好几天的问题终于理解了, 谢谢秋叶。 - 白沙纱, 2015-05-14
- 是的!非常牛!题也很有意思。那边的接龙俺是一题也没赶上,郁闷呀! - YY老爸, 2015-05-16
- 解释得很清楚啊! - 剑剑风流, 2015-05-14
- 看明白了,太牛了, 困扰我好几天的问题终于理解了, 谢谢秋叶。 - 白沙纱, 2015-05-14
- 我写了程序,运行结果就是0.5 (50%)。程序见内,有兴趣的亲可以用Java运行一下。 - 修理小子, 2015-05-14
- 腻害!我要把这个程序当做学习的样本, 谢谢酒哥 - 白沙纱, 2015-05-14
- 呵呵,一个简单的递归程序而已。关键是“我能否坐到我的座位取决于前一个人坐我座位的概率”。这就是递归。传递到极限条件就是第二个人,第二个人能否坐自己的座位取决于第一个人是否坐了他的座位。两个人就是总共两个座位,所以概率50%。回归到第三人的概率取决于第二人,那么最后回归到100个,大家取决于前一个,那么就都是50%。如果每次计算的时候概率有所变化的话,人脑就不够用了,必须要运行这个程序了。 - 修理小子, 2015-05-14
- 如果有N个人,那么就取决于前一个人“不坐”自己座位的概率,这个好像有点太直接 - 白沙纱, 2015-05-14
- (*^__^*) 嘻嘻……,其实我没看懂,到目前为止只看懂了秋叶的解释。汗,我再想想哦 - 白沙纱, 2015-05-14
- 如果有N个人,那么就取决于前一个人“不坐”自己座位的概率,这个好像有点太直接 - 白沙纱, 2015-05-14
- 呵呵,一个简单的递归程序而已。关键是“我能否坐到我的座位取决于前一个人坐我座位的概率”。这就是递归。传递到极限条件就是第二个人,第二个人能否坐自己的座位取决于第一个人是否坐了他的座位。两个人就是总共两个座位,所以概率50%。回归到第三人的概率取决于第二人,那么最后回归到100个,大家取决于前一个,那么就都是50%。如果每次计算的时候概率有所变化的话,人脑就不够用了,必须要运行这个程序了。 - 修理小子, 2015-05-14
- 第N个人能否坐自己的座位取决于N-1个人是否不坐自己的概率,似乎这个应该是需要推论的结果而不是依据吧?为什么可以这样递归呢?是不是跟随机种子的同等性有关? - 剑剑风流, 2015-05-14
- 腻害!我要把这个程序当做学习的样本, 谢谢酒哥 - 白沙纱, 2015-05-14
- 我想到了一个不用公式,简单就能理解的方法。 - 剑剑风流, 2015-05-15
- 高大上!! 这下不用思考就能理解了,可以作为秋叶答案的补充。你们都太聪明啦,怪不得我找不到工作呢 - 白沙纱, 2015-05-15
- 还是剑剑聪明,这个解释最明白通俗。兄弟好样的! - 修理小子, 2015-05-15
- 怕动脑筋的看热闹。 - 春之歌, 2015-05-15
- 俺笨又不爱动脑筋, 管那99个人坐哪儿呢, 我的座位要么空着, 要么被占, 我有一半的几率坐在自己票座位上. - 灶君, 2015-05-14
打开手机微信,选【发现】->【扫一扫】左边的二维码就会在手机出现这个帖子,然后点击右上角的三个点,选分享到朋友圈。