月薪5万,微软中国研究院最新面试题(附答案)

13年前
程序员之家
题目:
小明和小强都是张老师的学生,张老师的生日是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、老师出的这题是肯定有答案的;
       2、小明和小强开始都不知道答案;
       3、小强在知道小明不知道答案后,小强就知道答案,然后小明也知道答案;

第二:画出一个表
      小明(代表月)     小强(代表日)
       3月                4日,5日,8日
       6月                4日,7日
       9月                1日,5日
       12月               1日,2日,8日

第三:从小明和小强开始都不知道答案我们可以知道小强的拿到的日期是有重复的,因此可以推出小明拿的月份不可能是6月,因为如果是6月

,小明就可以推出小强拿的是4号。简化上表:(将否定的数值用*号代替)

      小明(代表月)     小强(代表日)
       3月                4日,5日,8日
       *                  4日,*
       9月                1日,5日
       12月               1日,*,8日

第四:我们开始假设:
      假设一:小明拿的是3月,小强拿的是4号
      推理:如果小明只看到自己的3月,而不知道小强的4号,小明确定老师的生日的日期就只有4号、5号、8号三个,因此小明是不确定的;

如果小强拿的是4号,开始小强确定老师的生日的月份就只有3月或6月其中一个,当然开始就是不确定了,然而现在小明先说自己不知道,就说

明不可能是6月,就只有3月,所以小强知道了;在小强知道后,小明自然可以知道小强拿的是4号,所以小明就知道了。
这样的结果不就符合上面几种情况?第一:有答案,第二:开始小明小强都不知道,第三小强先知道,小明再知道。

      !!!!!!!!!!!呀?没理由,第一个假设就已经通过?不可能,肯定有问题!!!!!!!!!!
      好,我们开始再假设下面的!!!!

      假设二:小明拿的是3月,小强拿的是5号
      推理:如果小明只看到自己的3月,而不知道小强的5号,小明确定老师的生日的日期就只有4号、5号、8号三个,因此小明是不确定的;

如果小强拿的是5号,开始小强确定老师的生日的月份就只有3月或9月其中一个,当然开始就是不确定了,然而现在小明先说自己不知道,就说

明不可能是6月,但是3月和9月依然不能确定,所以小强也不可能知道。

      !!!!!!!!!!!哦!有点希望呀,第二个假设不通过,如果剩下的都不通过,不就是第一个假设的日期了吗?

      假设三:小明拿的是3月,小强拿的是8号
      推理:如果小明只看到自己的3月,而不知道小强的8号,小明确定老师的生日的日期就只有4号、5号、8号三个,因此小明是不确定的;

如果小强拿的是8号,开始小强确定老师的生日的月份就只有3月或12月其中一个,当然开始就是不确定了,然而现在小明先说自己不知道,就

说明不可能是6月,但是3月和12月依然不能确定,所以小强也不可能知道。
      

      假设四:小明拿的是9月,小强拿的是1号
      推理:如果小明只看到自己的9月,而不知道小强的1号,小明确定老师的生日的日期就只有1号、5号两个,因此小明是不确定的;如果

小强拿的是1号,开始小强确定老师的生日的月份就只有9月或12月其中一个,当然开始就是不确定了,然而现在小明先说自己不知道,就说明

不可能是6月,但是9月和12月依然不能确定,所以小强也不可能知道。  


      假设五:小明拿的是9月,小强拿的是5号
      推理:如果小明只看到自己的9月,而不知道小强的5号,小明确定老师的生日的日期就只有1号、5号两个,因此小明是不确定的;如果

小强拿的是5号,开始小强确定老师的生日的月份就只有9月或12月其中一个,当然开始就是不确定了,然而现在小明先说自己不知道,就说明

不可能是6月,但是9月和12月依然不能确定,所以小强也不可能知道。  


      假设六:小明拿的是12月,小强拿的是1号
      推理:如果小明只看到自己的12月,而不知道小强的1号,小明确定老师的生日的日期就只有1号、8号两个,因此小明是不确定的;如果

小强拿的是1号,开始小强确定老师的生日的月份就只有9月或12月其中一个,当然开始就是不确定了,然而现在小明先说自己不知道,就说明

不可能是6月,但是9月和12月依然不能确定,所以小强也不可能知道。  


      假设七:小明拿的是12月,小强拿的是8号
      推理:如果小明只看到自己的12月,而不知道小强的8号,小明确定老师的生日的日期就只有1号、8号两个,因此小明是不确定的;如果

小强拿的是1号,开始小强确定老师的生日的月份就只有3月或12月其中一个,当然开始就是不确定了,然而现在小明先说自己不知道,就说明

不可能是6月,但是3月和12月依然不能确定,所以小强也不可能知道。  

!!!!!!!!!!!!!哦,答案出来啦,七个假设中,只有假设一是符合题目的,因此正确答案:3月4日。

本文地址http://www.chengxuyuans.com/job_interview/6854.html