微软的一道经典逻辑推理题

    技术2024-11-19  17

    题目是这样的:

    小明和小强都是张老师的学生,张老师的生日是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日。

     

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

    最新回复(0)