香港《十年》:微软月薪5万的招聘测试题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/02 03:11:03
小明和小强都是张老师的学生,张老师的生日是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日

小明说:如果我不知道的话,小强肯定也不知道
小强说:本来我也不知道,但是现在我知道了
小明说:哦,那我也知道了
请根据以上对话推断出张老师的生日是哪一天

1.如果我不知道,小强也不会知道:
说明小明拿的只会是3或9,否则的话如果小强拿的数字是2或7就知道答案了(2,7对应月份只有一个)。其余与任何月份配对都有多个选择,所以他不确定,由此,因为3和9后面的数字都有两个选择。
2.本来我不知道,但是现在我知道了:
小强通过小明的话知道,小明手里拿的是3或者9(通过上面的推断),小强只会拿1,4,5,8。假如小强拿的是5(他知道小明不可能拿6和12,但是从他说的话,小明知道他拿的是什么了,根据这点,小强拿的数字绝对不是6和12月份里面的),4和8同理,所以答案是1
由上可得:张老师是9月1号生日

9月1日
首先小明知道小强不可以只凭日子就可以知道张老师的生日,那么排除掉7和2。
剩下的日子为:
3月4日 3月5日 3月8日
6月4日
9月1日 9月5日
12月1日 12月8日
小明怎么会知道呢?那是因为他知道月,由月即可推断小强不能仅凭日子就知道张老师的生日,说明张老师的生日不可能在6月和12月。
那么剩下的日子为:
3月4日 3月5日 3月8日
9月1日 9月5日
小强听完后就知道张老师的生日是哪一天,说明在剩下的日子中,小强所知道的日子是单独,那么为1,4,8中的一种。
那么剩下的日子为:
3月4日 3月8日
9月1日
而小明在听小强说完后也知道了说明在剩下的日子之中,月也是单独的,他可以凭月就知道张老师的生日,那么张老师的生日必为9月1号。

先把“小明说:如果我不知道的话,小强肯定也不知道 ”翻译成现代汉语。就是,给定M的情况下,所有相关的N在答案组里出现都不止一次。比如:M=6,N=4或7。N=4时,这句话是对的;但N=7时,小强立即就知道了是6月7日。综上,排除M=6,和M=12(12月2日)。
“小强说:本来我也不知道,但是现在我知道了 ”。这就意味着,排除M=6和12的数据后,现在出现了一个独一无二的N。三个答案浮出了水面:3月4日、3月8日、9月1日。
“小明说:哦,那我也知道了 ”。这时M也是唯一的。
所以昨天的结果错了,最后的结果是9月1日。现在我也知道了。

9.1
小强本来不知道,就不能是7日或2日;
而小明说小强肯定不知,那么他就能肯定这两个N值(7和2)不可能出现,也就不能是6月和12月;
排除两个月后小强又知道了,就不能是5日;
而剩下的只有3.4 3.8 9.1
要想让小明也知道,只能是9月了

答案应该是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虽然有三种可能,但对于小强只要知道其中的
一种,就得出结论。所以有“小强说:本来我也不知道,但是现在我知道了”,
对于我们则还需要继续推理
至此,剩下的可能是“3月4日 3月8日 9月1日”
5)分析“小明说:哦,那我也知道了”,说明M==9,N==1,(N==5已经被排除,3月份的有两组

(1)首先一个很重要的线索是小强说“我本来不知道”,说明在他知道N值时,他仍然不知道日期是什么。这就暗示我们这个日期是不能仅靠日的数值判断的,也就是说在10组日期中有重复的N值这个干扰因素,所以首先排除6月7日和12月2日,因为一旦知道了N值就可以立刻判断日期,与小强的说辞矛盾。
(2)小强是在小明说“如果我不知道,小强也肯定不知道”后知道日期的。我们来看这句话的玄机。小明凭什么说的那么肯定呢?我们试想一下,如果小明得到的月份的值是6或者12,小明还会不会那么说?当然不会,因为小明不能确定小强得到了什么N值,如果他得到的N值是7或者2,当然小强用不着知道月份就能判断。所以,小明得到的月份不是6或者12。接着小强就表示自己已经知道日期了,这说明小明的话帮他排除了6月和12月的干扰。这暗示小强得到的N值在6月或12月的日期组里也出现了。所以3月5日和9月5日被排除了。
(3)现在只剩下3月4日、3月8日、9月1日三个日期了。我们注意到,在小强表示自己知道日期后,小明立刻表示自己也已经知道结果了。这是为什么?说明小强的话帮自己扫除了干扰因素。我们再试想一下,如果小明得到的M值是3,他能不能就此断定自己已经知道结果了?当然不能,因为他仍然不能判断是3月4日还是3月8日。但根据事实情况,他已经断定自己知道结果了。所以他得到的M值一定是9。因为在(2)中排除9月5日后,小明就可以判断日期是9月1日了。