主题:[讨论]IBM经典面试题:挑战你的逻辑分析能力
骁威科技
[专家分:0] 发布于 2005-07-02 15:23:00
IBM公司向来以高素质人才作为企业持续竞争力的保证。进入IBM公司是差不多每个IT人的梦想,偶然看到这条IBM公司的面试题,给大家试试看,看看是否具备进入IBM的实力!
村子中有50个人,每人有一条狗。在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天,第二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何推算得出?
答案大家想啊 过几天发布
回复列表 (共38个回复)
11 楼
jijjk [专家分:30] 发布于 2005-07-22 10:04:00
晕
了~~~~~~~~~~~~~~~~~~
12 楼
cskeleton [专家分:10] 发布于 2005-07-24 15:12:00
3条啊!
这个不是在电脑商情报上有的吗?
还有那个"海盗分宝石"的更经典啊.
13 楼
cskeleton [专家分:10] 发布于 2005-07-24 15:17:00
2楼的回答很详细了
14 楼
MagicG [专家分:650] 发布于 2005-07-29 19:52:00
2楼的意思不就是说每天规定只能1个人看了么?
要不然
为什么在你的推理中当有3条狗的时候,
第一天:a看到有2条病狗,认为他们的主人会杀了他,b,c相同
第二天:a还是看到2条病狗,为什么他那天不干掉自己的狗呢?
干吗还等到第三天啊?
15 楼
小猪吃小鱼 [专家分:390] 发布于 2005-08-01 18:50:00
支持楼上的 总是感觉有点想不通 我的想法和14楼的一样呀~!
16 楼
不是归人 [专家分:1400] 发布于 2005-08-01 19:46:00
晕~~~
假如A,B,C的狗是病狗,C看到A,B的狗是病狗,他会这么分析:
(1)假如我的狗不是病狗,那么B只能看到A的狗是病狗,他也无法知道自己的狗是否有病。
B就会想:
如果自己(B)的狗不是病狗,那么A将不会看到任何病狗,他会在第一天晚上枪毙自己的狗;
但是如果自己(B)的狗是病狗,那么A将会看到一条病狗,和(B)自己的状况一样,无法判断(A)自己的狗是不是病狗。
所以如果第一天晚上没人开枪,说明自己的狗是病狗,否则说明自己的狗不是病狗。
可是C知道B的狗是病狗,所以B会在第二天晚上开枪杀死自己的狗。同理,A也会在第二天晚上开枪杀死自己的狗。
(2)如果自己的狗是病狗,那么A和B会和自己有同样的推理,那么第二天晚上他们也不会开枪。
而我们知道C的狗时病狗,所以第二天晚上也不会有枪声。第三天C就会知道自己的狗时病狗,他会在第三天晚上开枪。同理,A和B也会在第三天晚上开枪。
我看到这道题时是已知所有的狗都是病狗,问会发生什么事情。上面的推理是已知有3条狗是病狗,推出第三天晚上会有一阵枪声。其实只要受过一些奥数的训练就可以很容易想清楚。这类问题的关键就是从最简单的情况出发,想一下如果只有一个病狗会发生什么情况,在想如果有两个……一步一步就能推出结果。
17 楼
MagicG [专家分:650] 发布于 2005-08-01 21:24:00
很遗憾的是偶没经过奥数的训练过`
不过现在看懂,谢~!
18 楼
barrack [专家分:0] 发布于 2006-04-01 15:54:00
题目不严密,应该涉及“时间”和“空间”的约束!
19 楼
barrack [专家分:0] 发布于 2006-04-01 15:59:00
题目需加上“时间”和“空间”的约束!
白天观察完毕,晚上回到自家后再决定是否“枪毙”自己的狗(每家距离很远,听不到枪声),天亮的时候,在集中到一起继续观察!
我来回复