请哪位高手回答一下,并说为什么?

来源:百度知道 编辑:UC知道 时间:2024/05/28 07:29:28
月薪3万的一道面试题:
小明和小强都是张老师的学生,张老师的生日是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日
小明说:如果我不知道的话,小强肯定也不知道
小强说:本来我也不知道,但是现在我知道了
小明说:哦,那我也知道了
请根据以上对话推断出张老师的生日是哪一天

9月1日那天
分析结果:
1:通过小明的第一句话,我们应该得出的答案就是,N不可能是2和7,因为小明只知道M数,如果N是2或者7的话,那么小强一听就知道是12月2日那天或者6月7日那天,而小明说的那么肯定说明他了解到的M数后边对应的N数至少出现了两次以上。同时我们还得出。小明知道的M数不可能是6或者12,因为如果是M=6或者12的话N=2或者7就在其中,小明也不敢断言小强不知道。
因此排除:6月4日,6月7日,12月1日,12月2日,12月8日
2:通过小强的第二句话,我们知道,小强分析小明的结果排除M=6或者12,而他知道N是多少,所以他知道答案
3:小明分析从3月和9月里边,N不可能是5,因为如果是5的话,小强仍然不知道是那一天,同时排除3月5日和9月5日,那么从第三句话我们知道。结果就是9月1日那天,因为如果是3月,小明这个时候还是不能确定,因为他分析了小强的话后,而老师告诉他M的数值,他很快得出这个结论。

答案应该是9月1日。
1)首先分析这10组日期,经观察不难发现,只有6月7日和12月2日这两组日期的
日数是唯一的。由此可知,如果小强得知的N是7或者2,那么他必定知道了老师的
生日。
2)再分析“小明说:如果我不知道的话,小强肯定也不知道”,而该10组日期的
月数分别为3,6,9,12,而且都相应月的日期都有两组以上,所以小明得知M后
是不可能知道老师生日的。
3)进一步分析“小明说:如果我不知道的话,小强肯定也不知道”,结合第2步
结论,可知小强得知N后也绝不可能知道。
4)结合第3和第1步,可以推断:所有6月和12月的日期都不是老师的生日,因为
如果小明得知的M是6,而若小强的N==7,则小强就知道了老师的生日。(由第
1步已经推出),同理,如果小明的M==12,若小强的N==2,则小强同样可以知道老师的生日。即:M不等于6和9。现在只剩下“3月4日 3月5日 3月8日 9月1日
9月5日”五组日期。而小强知道了,所以N不等于5(有3月5日和9月5日),此时,
小强的N∈(1,4,8)注:此时N虽然有三种可能,但对于小强只要知道