您的位置:首页 > 其它

微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日

2012-03-01 00:05 609 查看
题目是这样的:

小明和小强都是张老师的学生,张老师的生日是M月N日,2人都不知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?

3月4日 3月5日 3月8日

6月4日 6月7日

9月1日 9月5日

12月1日 12月2日 12月8日

小明说:如果我不知道的话,小强肯定也不知道

小强说:本来我也不知道,但是现在我知道了

小明说:哦,那我也知道了

请根据以上对话推断出张老师的生日是哪一天?

此题刚开始感觉无从下手,不知道该如何是好。但是这类题目,一般都是看你能不能利用其中的规律,或者打破常规的奇思妙想。什么情况下,一个人能根据他知道一个数字推出别人的生日呢?在这一题中,小明和小强知道的信息只有:生日可能的10个值,老师告诉他们的一个数字(月或者日)还有他们两个之间的对话。

首先是小明先说话,他说他不知道。他知道的可能性也确实很小,因为无论老师高诉他是哪个月,都有2种或者3种可能性让他选择,除非他还知道其他的信息,不然他肯定不知道。不过他不仅说他不知道,而且还说“如果他不知道的话,小强肯定也不知道”。那么小强什么情况下肯定不知道呢?那就是和小明一样,老师告诉他的那个日对应至少2个月份,除非他还知道其他信息,那他肯定不能确定最终生日的。但是仔细观察后,我们可以发现:如果老师告诉小强,是7或者2的话,那么他就可以知道老师的生日了。因为7和2对应的月是唯一的。所以从第一句话可以知道:N不会为7和2,M也不会为6和12(后半句要想清楚了)。

那现在的可能值就是:

3月4日 3月5日 3月8日

9月1日 9月5日

现在小强说他知道了。那N就不可能为5了,因为M就有3和9两种可能。

那现在的可能值就是:

3月4日 3月8日

9月1日

现在小明也说他也知道了。那M就肯定为9了。因为M为3的为话,N就有4和8两种可能了。

所以老师的生日是:9月1日。

解题总结:根据当前条件找出当前最能肯定(一定正确)的结论,一步一步的推下去,不断排除,最终确定。

感慨:微软的面试题果然就是不一样啊。想通了之后,觉得此题太妙了。呵呵。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐