谢丽尔的生日是哪天

来源:互联网 发布:Windows创建线程 编辑:程序博客网 时间:2024/04/28 03:15
上离散数学的时候老师拿出了一道比较有意思的题,乍一看很懵逼,细看其实有规律可循。
原题为:
谢丽尔的生日是哪天?

所以这道题到底是什么?简单翻译一下:

阿尔伯特和伯纳德刚刚成为谢丽尔的朋友,他们想知道她的生日,谢丽尔给了10个备选日期:
5.15、5.16、5.19、
6.17、6.18、
7.14、7.16、
8.14、8.15、8.17。
其中一个是她的正确生日。
谢丽尔然后分别告诉了阿尔伯特正确的月份(没告诉是哪一天),告诉了伯纳德正确的日子(没告诉是哪个月)

之后是阿尔伯特和伯纳德的对话。阿尔伯特:我不知道生日是哪天,但我知道伯纳德也不知道。伯纳德:我原本不知道,但现在我知道了。阿尔伯特:那我现在也知道了。

因为这个名字不好记,所以我就用字母代替三个人了,下面是我的题目简化以及推理过程:

c的生日为候选生日中的某一天,求c的生日
a,b候选日期
5.15、5.16、 5.19、
6.17、6.18、
7.14、 7.16、
8.14、8.15、 8.17。
a知道月份,b知道年份
a:我不知道生日是哪天,但我知道b也不知道
b:我原本不知道,但我现在知道了
a:那我现在也知道了

月份的可能为 5、6、7、8
日期的可能为 14、15、16、17、18、19
若月份为5 则可能的日期有三种可能,分别为 15、16、 19
若月份为6 则可能的日期有两种可能,分别为 17、18
若月份为7 则可能的日期有两种可能,分别为 14、 16
若月份为8 则可能的日期有三种可能,分别为 14、15、 17

因为a说他知道b不知道生日是哪天,所以排除月份为5、6 两月(如果存在5、6月两种可能,则b有直接知道生日的可能,所以排除),则新的可能为:
若月份为7 则可能的日期有两种可能,分别为 14、 16
若月份为8 则可能的日期有三种可能,分别为 14、15 17

此时,b说他本来不知道,但现在知道了,所以b通过a的话确定了月份,而b如果要确认月份,就需要排除掉5、6两月。
此时剩下的日期候选为14、15、16、17
若日期为14,b依然无法判断所以排除 14日的可能,就只剩下了15、16、17三种可能

而a又说他也知道了说明日期肯定不在八月,因为八月有15、17两种可能,所以不能确定,因此推断,c的生日为7月16日

原创粉丝点击