主题:  这是IBM公司的招聘题,必须在20分钟内答出

ljh138

职务:普通成员
等级:2
金币:0.0
发贴:392
注册:2003/6/6 12:06:15
#12003/8/1 12:48:50
村子中有50个人,每人有一条狗。在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天,第二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何推算得出?   这是IBM公司的招聘题,必须在20分钟内答出



流浪的牧师

职务:普通成员
等级:7
金币:23.0
发贴:7973
注册:2001/5/12 13:44:46
#22003/8/1 13:15:24
去年还是微软的面试题呢,怎么今年就变成IBM的了?

也不换换题啊



文远

职务:普通成员
等级:5
金币:1.0
发贴:2441
注册:2003/3/14 14:45:04
#32003/8/1 13:57:10
过两天 联想版的都要出来了



5D DV版主

职务:版主
等级:6
金币:10.5
发贴:4096
注册:2002/10/7 21:08:01
#42003/8/1 13:59:54
那次似乎还讨论了半天



未来

职务:版主
等级:5
金币:10.0
发贴:2730
注册:2001/11/2 18:37:09
#52003/8/1 14:03:35
50条



ljh138

职务:普通成员
等级:2
金币:0.0
发贴:392
注册:2003/6/6 12:06:15
#62003/8/1 14:06:50
为什么是50条?



吃鱼专家

职务:普通成员
等级:6
金币:11.0
发贴:5312
注册:2004/1/17 13:07:16
#72003/8/1 14:07:46
其实一条都没有。

50个人人人都没有到一条病狗,所以把自家的狗都杀死了



流浪的牧师

职务:普通成员
等级:7
金币:23.0
发贴:7973
注册:2001/5/12 13:44:46
#82003/8/1 14:12:30
正确答案是三条.



ljh138

职务:普通成员
等级:2
金币:0.0
发贴:392
注册:2003/6/6 12:06:15
#92003/8/1 14:14:46
我想应该是,谁都不知道有多少条病狗,但是人家说肯定有,可谁都不想让人知道自己没有猜出来,所以杀了自己的狗,来证明自己已经知道了,已经推算出来了。



未来

职务:版主
等级:5
金币:10.0
发贴:2730
注册:2001/11/2 18:37:09
#102003/8/1 14:14:54
只有别人家的49条狗都有病,别人家的狗却杀不得,开始两天才没动静。肯定有病狗,要么怀疑有病狗,要么怀疑没病狗,病狗是必须有一个的,况且这50家的反应都一样,也就是都认为别人家的狗有病,所以最后都杀掉自己家的狗了。



ark1983

职务:普通成员
等级:1
金币:10.0
发贴:3174
注册:2004/1/16 20:29:44
#112003/8/1 22:41:27
假设又1条狗有病,那么病狗得主人看到的是49条没病的狗,第一天他就会开枪;由此可以推断又>=2条狗是病狗.
假设有2条狗有病,那么病狗得主人看到的是48条没病的狗,1条狗有病,又因为第1天没有开枪,病狗得主人知道又>=2条狗是病狗,而他志看到1条病狗,那么自己的狗一定是病狗,所以这2条病狗的主人第二天就会开枪;由此可以推断又>=3条狗是病狗.
假设有3条狗有病,由于第一、第二天都没有人开枪,这3条病狗的主人都已经知道有>=3条狗有病,他们各自都看到有2条病狗,47条没病的狗,所以他们第三天就能推断出自己的狗得了病,所以这3个主人第三天就会开枪

结论是:有3条病狗;
我们还可以作出推断:第N(1<=N<50)(50可以为其他数)天有人开枪,就有N条狗得了病



大鸟

职务:普通成员
等级:2
金币:1.0
发贴:445
注册:2002/8/5 23:31:00
#122003/8/2 0:44:57
逻辑性太强了,适合于编程人员或者公安人员



未来

职务:版主
等级:5
金币:10.0
发贴:2730
注册:2001/11/2 18:37:09
#132003/8/2 10:58:36
如果一个人一天看一只狗,是只有三条狗,说了一天只看一条的吗?自己的狗也不能看,也不是假设的,跟天数绝对没有关系。
一个不确定的条件,只会是所有狗都有病。