分析一道据说是月薪上万的面试题 - 猜生日

 

在网上看到这样一道据说是月薪上万的面试题:

 

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

 

回答的人很多,也有很多人分析出了结果,答案基本上是两种:6月4日 和 9月1日。其实正确答案是 9月1日。我们来分析一下:


小明为 A,小强为 B
A 只会拿到 3、6、9、12 四个中的一个。无论拿到哪一个都不会知道生日是哪一天,那么他就会判断 B 拿的是什么。

-------------------------------------------------------------
先来看第一句话。在什么情况下 A 会这样说?
-------------------------------------------------------------
如果 A 拿的是 3:
  则 B 只会拿到 4、5、8 三个中的一个。
  如果 B 拿的是 4,则有 3月4日 和 6月4日 两个日期,所以 B 不知道会是哪一个。
  同理,如果B拿的是5和8也不会知道。
结论:A 会说出“如果我不知道的话,小强肯定也不知道”的话。

如果 A 拿的是 6:
  则 B 只会拿到 4、7 中的一个。
  如果 B 拿的是 7,那么 B 就知道了;如果拿的是 4,就不会知道。
结论:B 有可能知道,所以 A 不会说出“如果我不知道的话,小强肯定也不知道”的话。由此可知 A 不可能拿的是 6。

如果 A 拿的是 9:
  则 B 只会拿到 1、5 中的一个。1也好,5也好,都有重复,所以 B 都不会知道。
结论:A 会说出“如果我不知道的话,小强肯定也不知道”的话。

如果 A 拿的是 12:
  则 B 只会拿到 1、2、8 中的一个。如果拿的是 2,那么 B 就会知道;如果拿 1 和 8 就不会知道。
结论:B 有可能知道,所以 A 不会说出“如果我不知道的话,小强肯定也不知道”的话。由此可知 A 也不可能拿的是 12。

以上分析得出 A 拿是 3 或 9。
由此可以知道 B 拿的肯定是 1、4、5、8 中的一个,同时 B 也根据 A 的话得出 A 拿的是 3 或 9。
那么结果肯定在以下几个日期中:
3月4日3月5日3月8日
9月1日9月5日
======================================================================

-------------------------------------------------------------
再来看第二句话。在什么情况下 B 会这样说?
-------------------------------------------------------------
如果 B 拿的是 1:
  则 A 拿的肯定是 9。由此 B 就知道了生日是 9月1日。
结论:B 会说出“本来我也不知道,但是现在我知道了”的话。

如果 B 拿的是 4:
  则 A 拿的肯定是 3。由此 B 就知道了生日是 3月4日。
结论:B 会说出“本来我也不知道,但是现在我知道了”的话。

如果 B 拿的是 5:
  则 A 拿的是 3、6 中的一个,所以 B 不可能知道。
结论:B 不会说出“本来我也不知道,但是现在我知道了”的话。由此可知 B 拿的不是5。

如果 B 拿的是 8:
  则 A 拿的肯定是 3。由此 B 就知道了生日是 3月8日。
结论:B 会说出“本来我也不知道,但是现在我知道了”的话。

以上分析得出 B 拿的是 1、4、8 中的一个。
那么结果肯定在以下几个日期中:
3月4日3月8日
9月1日

======================================================================

-------------------------------------------------------------
分析到此还未得出结果,关键在第三句话。
从第一句话的分析结果得知,A 拿的是 3 或 9。那么在什么情况下 A 会说出“哦,那我也知道了”的话呢?
-------------------------------------------------------------
如果 A 拿的是 3:
  则结果可能是 3月4日 或 3月8日,那么 A 就不会知道。
结论:A 不会说出“哦,那我也知道了”的话。由此可知 A 拿的不是 3。

如果 A 拿的是 9:
  则结果肯定是 9月1日。
结论:A 会说出“哦,那我也知道了”的话。

以上分析得出 A 拿的是 9。

由此可以得知,最终答案是:9月1日。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值