var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-20738293-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script')"/>
jutleo
欢迎走进有风的地方~~
posts - 63,  comments - 279,  trackbacks - 0
小明和小强都是张老师的学生,张老师的生日是 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月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日
小明思考的小强该拿到什么
“如果我不知道的话”
只有6月7日和12月2日这两组日期的日数是唯一的。由此可知,如果小强得知的是7或者2,那么他必定知道了老师的生日。N值不能为7和2
“小强肯定也不知道”
小强知道的是4、5、8、1时都是重复的,所以他才肯定这样说,
“本来我也不知道”
如果小强拿到7和2时就知道了,所以小强排除M值6和12,此时他只在M值为3和9中考虑N的值1、4、5、8
只有5为重复所以N值不能为5
“但是现在我知道了”
排除N值4和8,因为M值为6和12中对应有4和8
所以答案就是9月1号

网上还有这样一种说法:
3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日中只有6月7日和12月2日这两组日期的日数是唯一的。由此可知,如果小强得知的是7或者2,那么他必定知道了老师的生日。
所以排除这两个数据,则数据剩下了
3月4日 3月5日 3月8日
6月4日
9月1日 9月5日
12月1日 12月8日
在这组数据中只有六月是唯一的,而小明说我不知道。
可见6月4日由此排除。则数据剩下:
3月4日 3月5日 3月8日
9月1日 9月5日
12月1日 12月8日
此刻小强说我原本不知道,但现在我知道了。由于小强知道的是日子,这里有唯一的日子既是3月4日。所以小明马上说那我也知道了。可见日子的确是3月4日
posted on 2007-12-01 19:59 凌晨风 阅读(5940) 评论(28)  编辑  收藏 所属分类: 生活感悟

FeedBack:
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-01 21:42 | windknight
呵呵,你的9月1日答案是对的
不过你的分析是错误的,最后一步错了  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-01 22:07 | 凌晨风
@windknight
能说说你的想法吗?  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-01 22:12 | rainjacy
@windknight
我也想知道  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-01 23:12 | li
第一种说法: "排除N值4和8,因为M值为6和12中对应有4和8"
这句话是错的,因为最后剩下1/4/8,12中也有1,那1也应该排除了.
答案是9月1号是因为"小明说:哦,那我也知道了"
如果是3/4或3/8号的话,小明就没办法知道答案.

第二种:一开始就必须排除6月和12月的数据.因为"小明说:如果我不知道的话,小强肯定也不知道" 那么就M只可能是3和9了.
留着12月1日 12月8日 在后面误导.

PS:我分析的应该没错吧,最近老是粗心大意,搞得什么都没信心.呵呵

  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-01 23:53 | 凌晨风
@li
"这句话是错的,因为最后剩下1/4/8,12中也有1,那1也应该排除了",12对于小强(知道N值)来说已经被排除了啊!  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-02 01:27 | li
我的意思是说,你排除N值4和8是因为M值为6和12中对应有4和8的话,那M值为12对应也有N=1,按你这个思路,你为什么不把N=1的也排除,而只排除N=4和8???

看你写的我也觉得你实在是迷糊了.
"如果小强拿到7和2时就知道了,所以小强排除M值6和12,此时他只在M值为3和9中考虑N的值1、4、5、8" -----小强本来就知道N值,还要考虑个啥???他只需猜M的值

我是这样分析的(供参考):
"张老师把 M值告诉了小明,把 N值告诉了小强,"-----小明知道M,只需猜N.小强知道N,只需猜M.

"小明说:如果我不知道的话,小强肯定也不知道" -----小明这句话透露出M<>(6,12),因为如果M=6/12的话,小强就可能知道生日(当N=2/7时)

"小强说:本来我也不知道,但是现在我知道了"-------小强说"本来我也不知道"这半句话进一步验证了M<>(6,12).所以到这句话止,小强知道M=3/9,而小明知道N=1/4/5/8.小强根据手上的N值马上就知道M了,那么现在轮到小明分析了:小明可以肯定N<>5,如果N=5的话,小强是不可能知道M=3还是M=9.那么现在小明知道N=1/4/8. 然后"小明说:哦,那我也知道了".------小明怎么知道呢,如果N=4/8 M=3时,小明是不可能知道到底是N=4还是N=8,他不能猜出生日.而实际上他猜出来了,只一种可能:M=9.

不知道我说明白了没有,总之 你一下子扮演小强的角色,一下子扮演小明的角色来思考,很快就想出来了.
  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-02 10:12 | 专注java开源
呵呵~最近都来推理?  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-02 10:50 | 李红军
第一句可以排除6月和12月,第二句可排除3.5和9.5日.第三句可知一定是9.1
N取值可以是1,2,4,5,7,8.但是当N是2时,M必是12,当N是7时,M必是6.在这两种情况下小强都会知道张老师的生日(6月7日,12月2 日),然而有对话"小明说:如果我不知道的话,小强肯定也不知道",所以N不能为2或7,且对话后小明和小强都知道N不能为2或7.
这样如果M是6,小明会比小强先知道张老师的生日(6月4日),故M不是6.同理M也不是12.
这样M只能为3或9.
这时,出现了第2句对话"小强说:本来我也不知道,但是现在我知道了".这意味着小强已经知道了张老师的生日.那么这是N可以是1,4,8(对于小强来说, 如果张老师给他的N是1,那么生日就是9月1日,是4就是3月4日,是8就是3月8日.已经没有悬念了.),但不能是5(N是5时,M可以是3也可以是 9,小强将无法断定),且对话后两人都知道了N不为5.
这时有了第3句对话"小明说:哦,那我也知道了",这意味这小明终于知道了张老师的生日.这样M必然为9(如果M是3,那么小明还是不能明确到底是3月4日还是3月8日).
这样,通过这三句话,我们就可以=》最后的答案:9月1日.  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-02 15:18 | oracle
迷糊啦  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-04 10:53 | TiGERTiAN
同理M也不是12?不理解为什么

M不一定为9,因为小强说我知道了,小明可以判断出,日当中只剩下4有这个可能让小强先知道,所以他也知道了  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-05 10:36 | Magician
分析得对!第一句话优先排除6月十二月,第二句话排除5日;剩下3月4日,3月8日,9月一日,最后小明也知道了,就证明是九月  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2007-12-07 12:39 | mj
我感觉第一句话中有话:
首先由于大家都没说知道,则肯定n不是2和7
“如果我不知道,则小强肯定不知道”是在n=1/4/5/8的基础上说的,说出这句话隐藏包含了一个意思:n不是4和8。而小强没有反对这个说法,就说明他的猜测是正确的,所以只能是n=1,因此答案是9月1日。  回复  更多评论
  
# 微软面试题
2008-01-04 18:28 | xiaomaoruibei
哦 !
原来是这样的.  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2008-02-20 20:36 | 工工工
这道题本来出的就有问题。。  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2008-05-02 17:01 | 错误
答案是6月4日,关于网络盛传的9月1日全分析错误。  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2008-05-02 17:03 | 错误
第一句就分析错误。  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2008-08-15 02:21 | 过路人
答案可能正确,但推理有问题,如果月6、12中包括有日2、7就右排除6、12月的话,那么6.4包括4,按理3月也包括4,所以根据以上同理得3月不是M,但3月含5日,依此类推9月含5日也可排除9月,最终此题无解。  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2008-08-15 02:22 | 过路人
我想这种题要求的答案不是唯一的,是要最符合,最有说服力的  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2008-08-15 02:34 | 过路人
根据小明与小强的对话可看出,MN出现的的次数是两次,那么排除两天后,M出现两次的只有9月(9月1日9月5日)和12月(12月1日12月8日)(3月三天,6月一天),两月中出现两次的天数是1日,因此是9月1日。  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2008-08-15 02:43 | 过路人
此时剩下9月1日12月1日。
回到原题能发现12月的值有3个,9月的值有2个,所以排除12月的,只剩下9月1日是正确答案。
  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题[未登录]
2008-09-03 15:14 | 小小
TMD这道题出的就有问题,不是说设计错误,是“如果我不知道的话,小强也肯定不知道。”这样的表达有问题,这句话我浪费了很多时间思考,发现是句废话,小明当然不可能一开始就知道生日,他所知道的月份就没有单一的。

按题目意思,他应该说:“小强肯定不能马上知道老师的生日”,一切就明了了,因为小明看了自己的数字敢断言小强不能马上知道就说明了,小明自己知道的M值不是6和12,否则遇到N是单一的2和7对方就能马上知道。有了这一步的基础,后面的推理就简单了,就只需要看为什小强第二次能知道,因为他从小明的信息中也得知不会是6和12,而且在剩余M是3和9的不会有重复不定的,只有一种可能。

所以楼猪还分析前半句废话都是假的,你是网上抄来的吧?根本没有领会意思,同时鄙视出题人不是无聊恶毒故意设陷阱,就是语言表达有问题!!!  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2008-10-11 03:06 | lonelybug
答案是6月4日

说9月1日的问题在于,你们上来派出了6月。

我解释一下,首先小强不会是2,7这两个数,因为这两个数可以不用依靠月来判定生日。

那么反过来说,小强的数肯定是每个日子里面都出现过两次的。

小明的说法是,他知道他的月份可以控制小强的判断,那么就只有6,这个月,因为,很简单,小明发现,只有6月4日是小强需要用月份来做最后确定的。

换个简单的说法就是这里面所有的数,除了6月7,12月2,小强可以用日子来确定,其他的,小强都需要用月来做进一步确定。而反过来,小明看见小强不能确定就说明,他的的值不是7,2,可是这里小明知道月也不知道具体的日子,所以它可以肯定的就是,6月4日是小明只要不知出具体的月份就可以保证小强不知道,也就是说,当小明发现小强没有指出具体日期的时候,他就直到了具体日期,所以才会说他不知道小强也不知道。

我说一下9月1日为什么不能使答案,站在小明角度,如果我拿了9月份,那么我只能确定小强不是7,2,那么9月1日,和9月5日,是不肯能说出来,我不知道小强就不知道的话,因为,这两个日起用月份无法判定是哪个。

而只有6月4日,是因为,小强没有指出生日日期,而我又知道月份就可以判定的。

3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日
  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2008-11-04 13:13 | Passerby
“我说一下9月1日为什么不能使答案,站在小明角度,如果我拿了9月份,那么我只能确定小强不是7,2,那么9月1日,和9月5日,是不肯能说出来,我不知道小强就不知道的话,因为,这两个日起用月份无法判定是哪个”

楼上的朋友也太厉害了 当小强小明后面两句话不存在啊 ,只听小明第一句就行了?  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2008-12-27 10:03 | 北京论坛
只听小明第一句就行了  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2009-01-14 21:15 | 阿斯顿
啊的身份  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2009-04-25 12:41 | liujingcheng
这个题有问题,没有说清楚,估计是语言的差异。
给你来个经典的:


<强盗分金>

5个海盗抢到了100颗宝石,每一颗都一样的大小和价值连城。
他们决定这么分:
1。抽签决定自己的号码(1,2,3,4,5)
2。首先,由1号提出分配方案,然后大家5人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。
3。如果1号死后,再由2号提出分配方案,然后大家4人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。
4。以次类推。。。。。。

条件:
每个海盗都是很聪明的人,都能很理智的判断得失,从而做出选择。

问题:
第一个海盗提出怎样的分配方案才能够使自己的收益最大化?

提示:
海盗的判断原则:
1.保命
2.尽量多得宝石
3.尽量多杀人   回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2010-02-02 23:03 | 小凤
自己认为答案是9.1
分析:
一、根据小明第一句话“如果我不知道的话,小强肯定也不知道”进行假设逆向推理
1、假设小明的M=6,则小强的N就会是4或7,其中7在N里面就只有单独的一个,如果小强拿到7就会肯定出老师的生日,那么小明拿到6的话,小强就会有可能知道,也有可能不知道,则小明的这句话(如果我不知道的话,小强肯定也不知道)就不成立。由此得出小明的M是不可能等于6的,所以这里就可以同时排除6.4和6.7。
2、假设小明的M=12,则小强的N就会是1、2或8,其中2在N里面就只有单独的一个,如果小强拿到2就会肯定出老师的生日,那么小明拿到12的话,小强就会有可能知道,也有可能不知道,则小明的这句话(如果我不知道的话,小强肯定也不知道)就不成立。由此得出小明的M是不可能等于12的,所以这里就可以同时排除12.1、12.2和12.8。(本来想写同理可证的,又害怕不明确,所以就复制下来了)
现在所剩的日期就只有:3月4日 3月5日 3月8 日
9月1日 9月5日
二、根据小强第一句话“本来我也不知道,但是现在我知道了”进行推理
通过前一步后,小强就说知道了,就说明小强拿到的N不会是5,因为N=5的日期还有两个(3.5、9.5),如果小强拿到5,那么到这时小强应该还是不知道的,这里就可以排除3.5和9.5
现在所剩的日期就只有:3月4日 3月8 日
9月1日
三、根据小明第二名话“哦,那我也知道了”进行推理
经过一、二步后小强也知道了老师的生日,就说明小明拿的M不会是3,因为M=3的日期还有两个(3.4、3.8),如果小明拿到3,那么到这时小明应该还是不知道的,这里就可以排除3.4和3.8
现在所剩的日期就只有:9月1日
  回复  更多评论
  
# re: 去北京面试时的题目(老师生日)微软面试题
2010-07-08 14:41 | Simon Cheng
答案是 3月4日, 其他都不可能.

用數學 SET 去想很快便得答案. 關鍵是6月4日, 亦即小明第一句的意思.
只有我拿6月才知答案, 其他都不知, 正因他不知所以小強不知, 所以小明可能是
3,9,12月.
本來小強不知,但現在知道了.
如他是 1,5,8, 他聽了小明說仍不可能知, 只是他是 4, 因不是6月所以只有3月.

Simon Cheng / HK
07 Aug 2010



  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2007年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(11)

我参与的团队

随笔分类

随笔档案

文章分类

文章档案

新闻分类

新闻档案

收藏夹

围脖

最新随笔

搜索

  •  

最新评论

阅读排行榜

评论排行榜