nichongpu 发表于 2013-1-26 14:14:09

java智力题ms->40万年薪面试题

刚看了一个标题:40万年薪面试题,思考了一会儿,做出解答,大家看对不对。

题目:
小明和小强都是张老师的学生,张老师的生日是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、(老师告诉小明、小强数值之后)如果N值是2或7的话,小强就应该说出来了。
                  ---->不是: 6月7日、12月2日
2、(老师告诉小明、小强数值之后)如果M值是6的话,小明根据小强的反应就能猜出是6月4日
   了(六月只有6.4、6.7,据1可知排除6.7,如果再知道M是6的话,傻子也知道该选6.4
   了)。
                  ---->不是: 6.4
3、至此,剩下日期排列
          3月4日
--------------------------------
一下日期(d6)
          3月5日      3月8日   
--------------------------------3月5 8
          9月1日      9月5日
--------------------------------9月5 1
         12月1日    12月8日
-------------------------------- 12月8 1

4、小明说:如果我不知道的话,小强肯定也不知道
                  ----->本句解释为:根据逻辑排除1、2步骤中的日期
5、小强说:本来我也不知道,但是现在我知道了
                  ----->小强本就知道一个数N,如果N是1、5、8的话,小强不可能从4这
   句话中知道生日,所以小强知道的N=4(只有一个3.4)
6、小明说:哦,那我也知道了
                  ----->根据3中日期组合,小强能根据自己N数值确定日期,只能是3.4



与其类似:
   老师的三个学生A、B、C,大家都知道的是老师有2顶白帽子,3顶黑帽子。
   老师把他们三个带到一个漆黑的屋子里面,给A、B带上黑帽子,给C带上白帽子。出来之后让他们猜戴帽子的颜色,三个人相互看了看,过了一会儿,A说,我猜出来了,我戴的黑帽子A是怎么猜出来的?
   
   答案:
      A想,如果我戴白帽子的话(共2白,C已戴一顶),B就一下猜出来自己戴的黑帽子了,所以我肯定戴的黑帽子。

请大家看分析的对不对,予以评价,3Q
页: [1]
查看完整版本: java智力题ms->40万年薪面试题