当前位置:编程学习 > JAVA >>

一道微软逻辑面试题


小明和小强都是王老师的学生,老师的生日是M月N日,他们都知道老师的生日是以下十组中的一个,老师把M告诉了小明,把N告诉了小强,然后问他们是否知道自己的生日,小明说“如果我不知道小强也不知道”,小强说“本来我不知道,你说了这话我就知道了”,小明说“那我也知道了 ”。问老师的生日是以下的哪个。

3,4 3,5 3,8 6,4 6,7 9,1 9,5 12,1 12,2 12,8

正在上班 orz..,偶然看到一个题目,就动动脑子吧。
按月份排:
3,4 3,5 3,8
6,4 6,7
9,1 9,5
12,1 12,2 12,8
按日期排:
9,1 12,1
12,2
3,4 6,4
3,5 9,5
6,7
3,8 12,8

小明说“如果我不知道小强也不知道”  按月份排,小明一定不知道,小明知道月份以后肯定小强不知道,由于12,2 6,7的日期是唯一的,可见月份不是6月或12月,生日可能是以下5个:
按月份排:
3,4 3,5 3,8
9,1 9,5
小强说“本来我不知道,你说了这话我就知道了”,除去6,7 12,2,小强原本的选择如下,
按日期排:
9,1 12,1
3,4 6,4
3,5 9,5
3,8 12,8
现在听完小明说的话,剔除6月和12月的数据,老师的生日可能的日期如下:
按日期排:
9,1
3,4
3,5 9,5
3,8
现在小强知道了,由于3,5 9,5日期重复,所以日期一定不是5,生日的可能的集合为:3,4 3,8 9,1

小明说“那我也知道了 ” 小明原本可能的选择如下,
按月份排:
3,4 3,5 3,8www.zzzyk.com
9,1 9,5
现在小明以小强的逻辑推断,也可推知日期一定不是5,而小明自己知道月份,如果为3月,那么小明自己也无法知道老师的生日,所以只能是9月,
老师的生日为9,1。


补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,