注册 登录
编程论坛 C++教室

微软面试题目,超难!

jinzhong620 发布于 2007-06-23 10:05, 3086 次点击
小明和小强都是张老师的学生,张老师的生日是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日
小明说:如果我不知道的话,小强肯定也不知道
小强说:本来我也不知道,但是现在我知道了
小明说:哦,那我也知道了
请根据以上对话推断出张老师的生日是哪一天
29 回复
#2
冰天雪2007-06-23 12:21

我好像在哪已经看到过了。。。


9.1日

#3
herbert_19872007-06-23 12:39
刚有人发过了的.
#4
laigaoat20052007-06-23 14:47
我来试试,估计没有结果,不要等啊,我才学呢.
#5
jinzhong6202007-06-23 17:46
就是那天。我在网上找到的很郁闷?
#6
aipb20072007-06-23 17:52
总觉得这个题目有点不确定性。
哪个给说说推理过程!!!!!!!!!!
#7
zkkpkk2007-06-23 21:35
同样是微软的面试题,我发的怎么就没有人讨论,而且觉得还有价值一点呢
#8
I喜欢c2007-06-23 21:44
见了N回了..

都说答案9,1

但我不认为是正确答案...
#9
天下第二刀2007-06-23 22:34

我来分析一个这个:

首先小强说:本来我也不知道, 所以N 不会是2 或7,因为这两个只出现了一次,排除 12月2日,6月7日
 然后小明说:如果我不知道的话,小强肯定也不知道, 所以M 不是会 12 或6,道理同上, 现排除
6月4日,12月1日,12月8日。
  现在就还有
3月4日
3月5日
3月8日
9月1日
9月5日
 不强说:本来我也不知道,但是现在我知道了,所以这时N不会是5了, 所以不会是3月5日或9月5日,
这时还有
3月4日
3月8日
9月1日

这时不明说我也知道了,同理,这时M不会3,
 最后只有一个 9月1日

  如有分析不对的, 还请指教了~~

#10
aipb20072007-06-23 22:37
以下是引用天下第二刀在2007-6-23 22:34:08的发言:

这时不明说我也知道了,同理,这时M不会3,
 最后只有一个 9月1日

  如有分析不对的, 还请指教了~~

这个同理太牵强!

#11
天下第二刀2007-06-23 22:40
怎么牵强了, 说下
#12
天下第二刀2007-06-23 22:43
呵呵, 是有点啊,
 搞不懂了
#13
天下第二刀2007-06-23 22:58
首先小明说:如果我不知道的话,小强肯定也不知道, M就不可能是12 或 6,
因为6月7日 和 12月2日, 7 和2 只出现过一次,
 小强是有可能会知道的,这就可以排除 ,6月7日,6月4日,12月2日,12月1日,12月8日
还有
3月4日,3月5日,3月8日,9月1日,9月5日,

然后小强说本来我也不知道,但是现在我知道了,所以这时N不会是5,因为如果N为5,小强不会知道是3月5日还是9月5日。 这时只有可能是 3月4日,3月8日,9月1日,

小明又说我也知道了,这时既然只有3月4日,3月8日,9月1日,所以这时的M不会是3, 因为如果M是3,小明也不会知道是
3月4日还是3月8日


  不知道这次还是不是有点牵强呀~~~~~~~~

[此贴子已经被作者于2007-6-23 23:03:01编辑过]

#14
aipb20072007-06-23 23:42
以下是引用天下第二刀在2007-6-23 22:58:37的发言:

小明又说我也知道了,这时既然只有3月4日,3月8日,9月1日,所以这时的M不会是3, 因为如果M是3,小明也不会知道是
3月4日还是3月8日


  不知道这次还是不是有点牵强呀~~~~~~~~

呵呵~就这里,你是根据小明说他知道了推理的,但是问题是小明是怎么知道的?

#15
天下第二刀2007-06-24 08:46


 ~~~~

[此贴子已经被作者于2007-6-24 8:50:07编辑过]

#16
jinzhong6202007-06-24 10:02
也许是出题的人太菜或者就没有考虑将来会有人质疑呢?
重点他是作为一个顶级公司的面试题出现,令人意味深远!
#17
tanxiangli2007-06-24 12:03

"小强是有可能会知道的,这就可以排除 ,6月7日,6月4日,12月2日,12月1日,12月8日"
这一句牵强了点,为什么呢???

我提个假设,如果那一天就是6月4日,
小明说:如果我不知道的话,小强肯定也不知道
有没有错????

#18
天下第二刀2007-06-24 12:58
小强肯定也不知道

你把五个都假设下看看
#19
游乐园2007-06-24 19:37
9月1日

-------------

6.7和12.2 在天上是没有重复的,如果老师告诉小强是7号或2号,那小强当然知道是哪一天了,所以这两天淘汰

分析第一句话,小明说"如果我不知道的话,小强肯定也不知道",语气很强烈的说"小强肯定不知道",推断出不能是6月和12月,因为如果老师告诉小明是6月,告诉小强的7号,那小强是知道哪天的,如果告诉小明是12月,告诉小强是2号,小强同样知道是哪天,这样子看小明就不能说"小强肯定不知道",所以说月份不可能是12月和6月

剩下的日期: 3.4 3.5 3.8 9.1 9.5

从第二句话分析,如果小强知道是5号,他是不能知道是哪天的,3月?还是9月? 所以5号淘汰

剩下的日期: 3.4 3.8 9.1

最后一句话"小明说:哦,那我也知道了", 说明是3月不对,因为3月有两天小明是不能确定3月中哪一天的,也就不能说知道了,所以是9月1号
#20
zmydebug2007-06-24 20:22

第二刀推得正确~~
“哦,那我也知道了”这是给你推算的条件~~~~不是让你去证明~~`只有小明知道了“你”才能知道。

#21
jinzhong6202007-06-25 08:28
假设小明知道呢?其实很多疑问的重点是怎么一步一步的处理推断而得出适合的答案,其用意不会是单单的答案呢?
#22
selin2007-07-13 11:17
咋同理把12月也排除了?
#23
leeco2007-07-13 18:32
回复:(aipb2007)以下是引用天下第二刀在2007-6-23 ...

小明被告诉了月份!
3/4
3/8
9/1
只有这三个是可能的,小明说它知道了,那肯定是他被告诉的是9咯

#24
xijunhua2007-07-13 19:28
有理 是9.1
冒失没有12.1吧
#25
wangchen21132007-07-14 09:04

个人理解解题思路:首先要明确小明跟小强思路清晰明确的无二意的知道了日期。
步骤:(1)因为,小强说:我本来不知道,所以,一定不会是6.7号,跟12.2(7跟2,只出现过一次)
(2)小明说:我不知道小强也一定不知道。所以,排除6月与12月,因为,只有他知道了月份,才能这么肯定不会出现6.7号与12.2号了。所以排除6月与12月。
(3)小强说了第一句话后,小明知道了结果(2),知道M只能等于3,或者9,而他又这么肯定的说了他知道了,说明日期一定不是5,(5出现过2次,他肯定不能肯定结果), 此刻只剩下N=1,3,8(这个只有小明知道)
(4)小明最后说:我也知道了,因为他在小明说完这句话之后(咱都知道了,想当然他也知道了),知道了他排出了5,而3月有两天没有排除,而他又肯定他知道了,所以,只能有一种情况,这个月是无其他日期剩余的,只有9月。
答案——————9.1

[此贴子已经被作者于2007-7-14 9:06:56编辑过]

#26
wangchen21132007-07-14 09:28

感觉这个题的第三个条件多余,因为:小明不知道——》小强也不知道。则:小强知道——》小明也知道。

#27
upsail2007-07-15 18:46

天下第二刀已解!

19楼分析得很清晰!

题目没有漏洞。

#28
shyforget2007-07-16 09:06

你们的数学学的不好吗?
这个是挺难,但是答案是6月4日
得用歌德巴赫猜想 算 所以答案是6月4日
我有一道你们算算把
张老师把M值告诉了小明,把N值告诉了小强,
它们的范围在 2<M<N<99

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

#29
wangchen21132007-07-16 16:42
楼上是不是数学系的,公式不能死记,微软要的是逻辑思维。这个题的逻辑就是这样的,我看了人家19楼的都说的那么清楚了,你自己也逻辑一下么。不要老想着把别人的答案排除。你正面顺着推理下就知道了
#30
灰色白狼2008-02-06 21:30
12.1也有可能把
1