微软试题——老师的生日

2024-12-21 16:20:04
推荐回答(4个)
回答1:

月薪5万微软中国研究院最新面试题--老师生日问题--的答案 时尚MP3随你挑

### 原题: ###

月薪5万,微软中国研究院最新面试题,你有本事答出来!!!

小明和小强都是张老师的学生,张老师的生日是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日
小明说:如果我不知道的话,小强肯定也不知道
小强说:本来我也不知道,但是现在我知道了
小明说:哦,那我也知道了
请根据以上对话推断出张老师的生日是哪一天

### 哲思逻解答如下: ###

由题意可知,
老师告诉小明的月份数字是3、6、9、12之一,
老师告诉小强的日期数字是1、2、4、5、7、8之一,

――小明说:“如果我不知道的话,小强肯定也不知道”――
看附图1,在十个可能的生日中――
月份中3、6、9、12都有重复,
日期中1、4、5、8有重复,2、7没有重复,
(1)小明自己不知道自己是清楚的,如果小明知道的月份数字是6,那么,在小明看来,小强就有可能知道老师的生日,因为老师可能告诉小强日期是7,而含有7日的生日是唯一的,只有6月7日,所以,小明知道的月份数字不是6;
(2)同样,如果小明知道的月份数字是12,那么,在小明看来,小强也有可能知道老师的生日,因为老师有可能告诉小强日期是2,而含有2日的生日也是唯一的,只有12月2日,所以,小明知道的数字也不是12;
既然小明确定小强不知道,就说明小明知道的月份数字不是6、12之一,而是3、9之一。

――小强说:“本来我也不知道,但是现在我知道了”――
看附图2,在3月4日、3月5日、3月8日、9月1日、9月5日这五个可能的生日中――
重复一下,如果老师告诉小强的日期数字是2,那么小强就可以知道老师的生日是12月2日,因为含有2日的生日是唯一的,只有12月2日;如果老师告诉小强的日期数字是7,那么小强就可以知道老师的生日是6月7日,因为含有7日的生日也是唯一的,只有6月7日;由于小强本来不知道老师的生日,所以,老师告诉小强的日期数字是1、4、5、8之一。
由于小明的话向小强传达了月份只能是3、9之一的信息,然后小强立刻就知道了老师的生日,那么,生日不是5日,因为如果生日是5日,可能的生日既有3月5日,也有9月5日,这样,小强就不能断定老师的生日月份是3月还是9月,从而不会立刻唯一地确定老师的生日。至此,生日可能是3月4日、3月8日、9月1日之一,由于小强知道生日日期,所以,就旁观者所知道的来说,生日可能是这三个中的任何一个。

――小明说:哦,那我也知道了――
由于可能的生日有三个:3月4日、3月8日、9月1日,对于小明而言,月份是他已经知道的,他只需要知道日期就可以知道老师的生日,由于小明通过小强的发言就可以知道老师的生日,说明老师的生日是9月1日,因为如果老师的生日是4日或者8日,则小明无法断定生日是3月4日还是3月8日,通过小明能断定出老师的生日,可以得到,老师的生日不是3月4日也不是3月8日,在3月4日、3月8日、9月1日三个可能的生日中,就只有9月1日是可能的了。
所以,老师的生日是9月1日。

回答2:

张老师把M值告诉了小明,把N值告诉了小强,然后问他们:“知道我的生日是那一天吗?”

小明说:“如果我不知道的话,小强肯定也不知道”。
小强说:“本来我也不知道,但是现在我知道了”。
小明说:“哦,那我也知道了”。

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

据说做出来的人月薪3万(网上流传说是月薪3万的一个岗位的面试题),呵呵。

我的推理过程:
3-4
3-5
3-8
6-4
6-7
9-1
9-5
12-1
12-2
12-8

1.小明说:“如果我不知道的话,小强肯定也不知道”。
这句话的潜台词实际上是:“我应该猜对了,如果我猜错的话,小强肯定不知道”。但小明还是不确定自己究竟猜对没,需要小强来印证。M取什么值能让小明这么说呢?显然6和12不可取,如果M为6或12,N就有可能是2或7——小强凭2或7一个数字就能得知张老师的生日。则M只可能是3或9,而N只能在1、4、5、8中取值。
如果M是3,N可以取三种值,结果成了“如果小明不知道,小强有可能知道(2-4,3-8),也有可能不知道(3-5)。”,在这种情况下,小明说“如果我不知道的话,小强肯定也不知道”是不符合事实的,小明不足以如此自信的这样说。
如果M是9,则小明就知道N只能是1或者5。此时,小明的猜测正是N=1,而N究竟是不是1,小明也不确信,如果N不是1而是5,则就出现了小明说的“如果我不知道的话,小强肯定也不知道”。至此,实际上小明已经知道了,结果只有两种情况,只等小强来确认N是不是5。

2.小强说:“本来我也不知道,但是现在我知道了”。
小强说“本来我也不知道”,验证了N确实不是2或者7;同时,小强也知道了“M不是6或12,M只剩下3和9可取”。若N是5,则小强应该说“本来我也不知道,现在我还是不知道”。根据第一节的推断,N=1,所以小强才能说“本来我也不知道,但是现在我知道了”。

3.小明说:“那我也知道了”
小明就等着小强的一句话了,不管小强怎么回答,小明都会知道正确答案。如果小强说“我还是不知道”,那么小明依然可以知道“只有N=5会让小强茫然”,因此答案是9月5日;如果小强说“我知道了”,那么就必然是9月1日。

其实,自始至终,小明都是明白的,他只需要小强说句华验证他的猜测,对小明而言,是个非A即B的选择题。因此,按照题目本身的故事发展线索,小明的第三句话是可以不用的,很多人推导的时候却用上了这个条件——那样就有点像做数学题了。

回答3:

9月1日啊

回答4:

9月1日