三门问题,得出答案只要证明这几个例子逻辑等价就行了

最近在看离散数学,又看到这让人纠结的三门问题。想到其实把这个问题用第一章的逻辑与证明的知识把这个问题简化几次就根本没人会纠结了。

例1:两个人完抽牌游戏。游戏规则这样的,一共三张牌,里面有一张王牌,两张普通牌,甲先抽一张,乙抽两张。

    请问:甲,乙抽到王牌的几率是多少。

   我想,没人会纠结吧。甲,三分之一,乙,三分之二。

稍微复杂化一下,其实只是绕个圈子。

例2:两个人完抽牌游戏。游戏规则这样的,一共三张牌,里面有一张王牌,两张普通牌,甲先抽一张,乙抽两张,然后乙丢掉了一张牌(此牌不是王牌)。

    问:甲,乙抽到王牌的几率是多少。

    这也不会纠结吧。甲,三分之一,乙,三分之二。

例3:两个人完抽牌游戏。游戏规则这样的,一共三张牌,里面有一张王牌,两张普通牌,甲先抽一张,乙抽两张,然后乙丢掉了一张牌(此牌不是王牌)。然后甲和乙交换了手牌。

    请问:甲,乙手上是王牌的几率是多少。

    甲,三分之二,乙,三分之一。

然后就是三门问题了:

例4:甲正在玩一个抽王牌的游戏,乙是主持人(事先知道牌后面是什么)。游戏是这样的:一共三张牌,里面有一张王牌,两张普通牌,甲随机选择了一张牌,然后乙丢掉一张不是王牌的牌。请问,甲该不该换一张牌?

ps:本来想写代码计算的,忽然觉得这样写更容易让人接受。所以发了。

附,三门问题:你在参加一个节目,面前是三扇关闭着的门。其中一扇后面是小汽车,选中它就可赢得汽车,另外两扇后面各是一只羊。你选择了其中一扇,但没有打开它,这时主持人打开了剩下两扇门中的一扇,后面是一只山羊(这里有个隐含前提:主持人是知道门后的情况的)。主持人问你,要不要换另一扇仍然关闭着的门,还是就要你刚才选中的那扇。

时间: 2024-09-29 19:24:26

三门问题,得出答案只要证明这几个例子逻辑等价就行了的相关文章

【BZOJ5251】【八省联考2018】劈配(网络流,二分答案)

[BZOJ5251][八省联考2018]劈配(网络流,二分答案) 题面 洛谷 BZOJ Description 一年一度的综艺节目<中国新代码>又开始了. Zayid从小就梦想成为一名程序员,他觉得这是一个展示自己的舞台,于是他毫不犹豫地报名了. 题目描述 轻车熟路的Zayid顺利地通过了海选,接下来的环节是导师盲选,这一阶段的规则是这样的: 总共n名参赛选手(编号从1至n)每人写出一份代码并介绍自己的梦想.接着由所有导师对这些选手进行排名. 为了避免后续的麻烦,规定不存在排名并列的情况. 同

C语言面试及答案分析

第一部分:基本概念及其它问答题 1.关键字static的作用是什么? 这个简单的问题很少有人能回答完全.在C语言中,关键字static有三个明显的作用: 1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. 2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量. 3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用. 大多

C语言终极面试及答案分析

http://www.cnblogs.com/Purple_Xiapei/archive/2012/05/10/2495003.html 第一部分:基本概念及其它问答题1.关键字static的作用是什么?这个简单的问题很少有人能回答完全.在C语言中,关键字static有三个明显的作用:1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量.3)

【LeetCode】Hamming Distance

问题网址 https://leetcode.com/problems/hamming-distance/ 就是一个异或后,求1的位数的问题. 看到问题之后,首先困扰是: int能不能求异或?是不是要转成二进制才可以? 答案是肯定的.直接 x^y 就行了. 然后就是统计位数的问题了 答案一:https://discuss.leetcode.com/topic/72636/c-simple-solution-0ms liupeng的答案 int hammingDistance(int x, int

51nod1069(博弈)

题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1069 题意: 中文题诶~ 思路: 一开始我以为需要把上一堆到石子拿完才能拿下一堆,那样的话我们只需要先手每次拿一堆中一定数目的石子使剩下一颗石子就能保证他的优势,不过每次至少要拿一颗石头,所以当连续偶数堆的石头数目为1时,A和B会交换先手关系,所以我们只要判断连续偶数次1颗为一堆的石子的次数就可以得到最终答案~ 事实证明我太天真了~虽然题目没说明,不过我看了

HDU 2191 Robberies抢劫案(AC代码)01背包的变形

1 #include <iostream> 2 #define limit 110 3 using namespace std; 4 int n; 5 int money[limit]; //银行的钱 6 double safe[limit]; //被抓的概率 7 double dp[10000]; 8 double p,big; 9 void cal(int temp,int n)//所有银行的钱,n家银行 10 { 11 int i,j; 12 for(i=0;i<n;i++) 13

合约广告中的流量分配算法

简介 合约广告是一种基于合约的广告模式,在线广告中的一种主流方式是担保式投放(Guaranteed Delivery,GD).GD是一种量优于质的广告投放方式,需要保证广告主能够获得在合约中约定的受众用户的流量.GD中,媒体的流量按照属性划分,媒体要给不同的广告主按照合同分配约定好的流量.Ad Server的准则是希望在每一次展现满足多个合约时,选择合适的广告主,以使得每个广告主效果最好,同时能够更有效的分配流量.如下图所示,supply为媒体方,提供流量,媒体的流量可以按照性别.年龄.地域划分

【POJ2699】The Maximum Number of Strong Kings(二分,最大流)

题意: 有n个队伍,两两都有比赛 知道最后每支队伍获胜的场数 求最多有多少队伍,他们战胜了所有获胜场数比自己多的队伍,这些队伍被称为SK N<=50 思路:把每个队伍和它们两两之间的比赛都当做点,判断最大流是否满流即可 S-->队伍 a[i] 队伍 -->比赛 1 比赛-->T 1 i号队伍是SK:如果j为SK且a[i]>a[j]则j必胜,如果a[i]<a[j]则i必胜 只要必胜者向他们之间的比赛连1条边即可 如果j不为SK,胜负未知,两个点都向他们之间的比赛连1条边

探索性思维——How to Solve It

我觉得这篇文章和什么都能扯上点关系,比如编程. 很多人已经讨论过数学与编程的关系了,这里不想过多探讨,只是简单提一下:有些人把数学贬低地一文不值,认为做一般的应用软件用不到数学:而有些人则把数学拔高到一个很高的位置,认为一些比较上层的领域像机器学习,包括其父.子类人工智能和深度学习都需要用到些相对晦涩的数学知识.我的看法是:尽自己的能力学习更多的数学知识总是没有坏处的.当然,辨证的来看,过度学习偏废了机器本身也就不说什么了(仁者仁智者智吧,王垠也写过一篇文章,我想附在这里:数学与编程,希望勿喷,