微软试题——老师的生日

来源:百度知道 编辑:UC知道 时间:2024/06/05 14:02:36
张老师把M值告诉了小明,把N值告诉了小强,然后问他们:“知道我的生日是那一天吗?”

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

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

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

我的推理过程:
3-4
3-5
3-8
6-4
6-7
9-1
9-5
12-1
12-2
12-8
3月8号是正确的:
1、大家都会排除6-7和12-2理由很简单,
那么剩下
3-4、3-5、3-8、6-4、(6-7排除)9-1、9-5、12-1、(12-2排除)、12-8
小明说:“如果我不知道的话,小强肯定也不知道”。
这句话说明“如果我知道,小强有可能知道,也有可能不知道”所以我们可以从上面的月份来看,如果小明猜6-4是正确的,那么不符合逻辑,所以6月份可以全部排除
剩下
3-4、3-5、3-8、9-1、9-5、12-1、(12-2排除)、12-8
如果小明猜9-1的是正确答案的话,那么,小强说:“本来我不不知道,现在我知道了”,证明小明猜的答案9-1和小强说的不符合逻辑:假如老师的N是1,那么他困惑有12-1和9-1,也就是说,即使小明猜错了,小强也知道那个月份
所以思路是:只有小强的答案是三个才可以让小明这么自信的说“我不知道,小强也不知道”
所以剩下(因为9月份只有两个9-1、9-5,所以排除):
3-4、3-5、3-8、12-1、(12-2排除)、12-8
剩下的日子数N有1、4、5、8
如果小明猜12-1,那么小强立马知道老师生日是12-8
如果小名猜3-4或3-5或3-8,小名也会知道老师的生日
大家看看我说3-8的原因,我们用逆推发也成立
只有3-8才可以让小明自信的说“我不知道,小强也不知道”。

张老师把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.小明说:“那我也知道了”
小明就等着小强的一句话了,不管小强怎么回答,小明都会知道正确答案。