小明和小强都是张老师的学生,张老师的生日是M月N日

来源:互联网 发布:原画暑期班知乎 编辑:程序博客网 时间:2024/06/09 19:46

讨论]月薪3万的一道面试题:

讨论]
小明和小强都是张老师的学生,张老师的生日是MN日,2人都知道张老师的生日 是下列10组中的一天,
张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗? 
3435 3864 679195121 122128小明说:如果我不知道的话,小强肯定也不知道 (突破点1)小强说:本来我也不知道,但是现在我知道了 (突破点2)小明说:哦,那我也知道了 (突破点3)请根据以上对话推断出张老师的生日是哪一天
思路分析流程:
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和12。现在只剩下“3月4日 3月5日 3月8日 9月1日 9月5日”五组日期。
而通过本来我也不知道,但是现在我知道了”,说明现在小强已经知道了老师的生日,
所以N不等于5(5日有两种不能确定),此时, 
小强的N∈(1,4,8)注:
此时N虽然有三种可能,但对于小强只要知道其中的 一种,就得出老师的生日日期了。
所以有, 剩下的日期只剩“3月4日, 3月8日, 9月1日” 。
5)通过上述分析得出可能的日期为“3月4日, 3月8日, 9月1日” 
既目前M∈(3,9),而小明最后说了一句“哦,那我也知道了”说明M不等于3(3月有两种不能确定),
最后得出M=9
M=9,得出N=1,最终老师的生日是91日。
原创粉丝点击