栖息谷-管理人的网上家园

标题: IBM公司的招聘题,必须在20分钟内答出... [打印本页]

作者: shsgood    时间: 2003-6-20 10:25
标题: IBM公司的招聘题,必须在20分钟内答出...
村子中有50个人,每人有一条狗。在这50条狗中有病狗(这种病不会传染)。于是人们
就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。
观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要
枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天,第
二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何推算得出?
各位精英加油咯!!
作者: shsgood    时间: 2003-6-24 21:54
为什么没有人回呢?
我也没有标准答案。我是这样认为的。
1、在大家都看到了病狗的时候不能断定自己的狗是病狗,所以,没有杀自己的狗。
2、有病狗的人看到的病狗数比实际病狗数少一。
3、为保证大家都看到有病狗,则至少有2条以上的病狗。
4、假设共2条狗,因为病狗的主人看不到自己的狗,所以,A看到得只有B的是病狗,所以,不能断定自己的狗是病狗,但是等第二天再看的时候B应该已经把狗杀了,因为B没有看到病狗,而B的狗还在,则B肯定看到其他的病狗,但A看了其他狗都没有病,A可以断定自己的狗是病狗。但是,第二天也没有人杀狗。可以说明,A看到了不只一条狗。
5、如果A看到B、C的是病狗,若A的不是病狗,回第4条,到了第三天,A看到在第二天的时候B、C都没有杀狗,说明不只B、C两条是病狗,而其他的狗又看过了,没有病,所以,A可以断定自己的是病狗。同理,B、C也会这么想。
6、如果是4条狗,则大家都不可能在第3天判断出来,自己的狗是否病了,所以,第三天也不会有人杀狗。而命题说第三天有人杀狗,则可以断定只有三条病狗。


[此贴子已经被作者于2003-6-24 21:54:40编辑过]

作者: 剔透百合    时间: 2003-6-25 16:24
这个题以前此版出过,可能就是这原因没人回答吧

但我觉得你写出了推理过程,好重要!不管别人怎么想,对我的帮助很大 谢谢!
作者: feihu    时间: 2003-7-30 09:02
三只
推理如下:
1.如果只有一只病狗,那么有49人可以看到有病狗,则他们不会开枪,因为题目给出的决断标
  准是“有病狗”,他们既然看到了病狗,不管自己的狗是不是病狗,他们都不会开枪;只
  有1人看不到病狗,根据题目  标准“有病狗”,那么这个人必定会开枪,于是第一天就可
  以听到枪声,这与题目矛盾,  所以,不可能只有一只病狗。
2.如果只有两只病狗,我们假设其主人为b和c。那么,其他48人看到有两只病狗,他们无法决
  定自己的狗是不是病狗,因而他们不会选择开枪;对b和c,他们只看到一只病狗,他们的推
  理如下:
  b假设自己的狗不是病狗,那么b可以推测:c看不到病狗,既然c看不到病狗,那么c一定会在
  第一天枪毙自己的狗,会听到枪声,与题目矛盾,所以,b的假设是错误的,那么b就可以肯
  定自己的狗是病狗,b就会在第二天枪毙自己的狗,会有枪声,但这又与题目矛盾,所以,不
  可能是两只病狗。
3.如果有三只病狗,我们假设其主人为a,b和c,其他的47人可以看到三只病狗,根据题目条件
  他们无法判断自己的狗是不是病狗,他们不会开枪;我们重点来看a,b,c:
    不失一般性,我们考察a:
    a假设自己的狗不是病狗:那么他可以推测b和c只看到一只病狗,这就可以根据上面的推导
   断定b或c会在第二天枪毙自己的狗,会有枪声,但第二天没有枪声,所以a的假设错误,于
   是a可以断定自己的狗是病狗,并枪毙它,出现枪声。
   b和c也可同样推理,枪毙自己的病狗,所以,第三天会出现三声枪声。
4.如果病狗为4只或4只以上,根据题目的判断标准,其中的任何一个人都无法断定自己的狗是
  病狗,也就不会采取行动,从而也就不会听到枪声。
  所以,只有三只病狗。
作者: songdg1122    时间: 2003-7-31 14:01
具体过程我忘了,答案是50只。村里的人把自己的狗都杀了
作者: fisherlu    时间: 2003-8-2 15:59
幸亏我不去IBM,
作者: fjs    时间: 2003-8-2 22:40
根据题目给出的条件,你怎么可能“知道”自己的狗是不是病狗?我觉得逻辑上是不可能的。所以这道题的结果要视村民的心理问题而定。
    会有几条病狗?
    我觉得有51种可能:50条可能都是,也可能1条都没有。
作者: fjs    时间: 2003-8-2 22:44
8楼的说村民把50条狗都杀了。这是一种结果。
但题目问的是----有几条病狗?
村民杀的可能是病狗,也也可能是好狗啊。
如果问村民最佳选择应该怎么做,那倒是有一个做法最保险:50条狗通杀
作者: 阿豹子    时间: 2003-9-6 01:24

[此贴子已经被作者于2003-9-6 1:25:08编辑过]

作者: FAIRY1027    时间: 2003-9-8 09:19
总共是三只病狗。

假设有一只病狗:
在第一天的时候,有病狗的主人会发现其他49人没有动静,那么他就会怀疑自己的狗是病狗,这样就判断出来,第一天就要听到枪声。
假设有两只病狗:
在第一天的时候,有病狗的主人会看到其他的49人的狗中有病狗,满足至少有一只病狗的条件,那么他就不可能将自己的狗杀掉。若第一天没有动静,就可以得出结论,病狗至少有两只。
在第二天,若只有两只,有病狗的两个主人只看到一只病狗,那么在别人没有动静的情况下,他将会理性地怀疑自己的狗是病狗,会将它杀掉,第二天就会出现枪声。
假设有三只病狗:
推理同上,在第二天的时候没有动静,因为有病狗的主人都看到了另外的两只病狗,不会怀疑自己的狗。但是当第二天仍没有动静的时候,自然推理出病狗应该是至少有三只。
在第三天的时候,病狗的主人只看到另外的两之病狗,而条件是至少有三只,他所不知道的这一只就是自己的狗,所以会将自己的狗杀掉。
而不是病狗的主人呢,则会看到三只病狗,不会将自己的狗杀掉。

假设有四只病狗:
则枪声应该出现在第四天,不满足以上的题设条件,所以病狗只能有三只。
作者: hxiaoyan    时间: 2003-9-9 05:14
等了几天就几只狗,故3只
作者: qiangge    时间: 2003-9-20 16:58
一条也没有.
作者: ivan_cao    时间: 2003-9-22 14:18
3条符合题目
作者: ntg407    时间: 2003-9-27 22:09
a\bc\可以是任意的三个人,故50个人都可能养着病狗,第三天,大家实在无法分辨,只好把狗全杀了
作者: ntg407    时间: 2003-9-27 22:09
至于病狗是多少条,只有天知道
作者: jianying    时间: 2003-9-28 11:22
确实厉害。
作者: sharesam    时间: 2003-11-17 16:56
3条,几天几条。
作者: josiah    时间: 2003-11-24 15:20
really difficult for me.
作者: 金子    时间: 2003-11-24 21:44
50
作者: niepanniao    时间: 2003-11-26 13:11
没有一只是病狗
作者: ggzhiwang    时间: 2003-12-9 01:02
是3条
推理很简单
如果是四条的话,设定病狗主人是ABCD,他们均发现了三条狗。到了第二天,A(泛指)发现BCD并没有把狗杀掉,他会自己分析:bcd都发现了两个,而B(泛指)认为CD都只发现了一个病狗,那么到第三天b应该会发现自己的狗是病狗,但到了第三天并没有三声枪响,于是a认为应该还有病狗,而根据自己的调查结果,只有自己的狗符合条件——四声枪响发生在第四天,以此类推,如果是五条病狗则会在第五天有五声枪响,几条病狗就会在第几天有几声枪响。

这问题出的不好
既然疾病不会传染,又何必大动干戈的又是查又是杀的,再说了子弹一个只好几大块呢,最不济狗也是我们人类的“知心朋友”,让它安享剩下不多的岁月有多好,对了,又病就应该被枪杀掉吗,真他妈的,合了那个“奥美”给IBM的评语了:没人情味(你以为你是什么)
[em17][em17][em17][em17][em17]
作者: dylldy    时间: 2003-12-14 20:10
答案:3只 解答过程如下: 设时间为t(可以按二元法给t设值,无人开枪,t=false,有人开枪,t=truth。当t为false时,t会一直增长,即第1天、第2天、第3天….这样保持下去,直到t=truth有人开枪时,t停止增长)。同时,为叙述方便,设病狗总数为s(s≥1),则病狗主人A(通指)所看到的病狗数n=s-1。 在本题中,t是唯一的客观变量,有两种情况: 1:若第一天有人开枪,即t=truth=1,说明有人看到了0条病狗并确定自己是A(唯一的A);此时,n=0,s=1。 2:若第一天没人开枪,即t=truth发生在>1的某一天(2,3,4,5….)。逻辑过程如下: 如果第一天无人开枪,则说明n>0,s>1,因此必然会出现t=s的情况(因为s>1,t=2,3,4….直到t=truth即有人开枪时t停止增长)。当t=s时,那么n=s-10,s>1,那么t在停止增长前(即有人在第t日开枪前)会出现t>n的情况; 3:对于所有的A而言,如果自己看到的病狗数量还没有小于t时,都不会知道自己看到的是n,只有当t大于自己看到的病狗数量时,他们才会推论自己属于看到n的群体A; 4:在t>n那天,所有的A会动手开枪,此时t=truth,停止了增长,而此时刚好是t=s的时刻。
[此贴子已经被作者于2003-12-14 20:16:50编辑过]

作者: 风心自由    时间: 2003-12-14 22:59
晕呀。脑袋不够用了。还好没想去IBM呵呵
作者: dylldy    时间: 2003-12-15 13:09
:)
其实如果简化推理过程,可以这样想:
除了有人没看到病狗的情况外(说明只有那个人的狗是病狗,则第一天就开枪),那么所有的人都会至少看到一只病狗,而每一个人在开始时都不知道自己的狗是否病狗,怎么办呢,只能等,希望别人能开枪。而这样等下去的结果是到了有人(病狗主人们)看到的数量小于天数时,还是无人开枪,于是这些看到小数量病狗的人们知道了,别人还有耐心等是因为别人看到的病狗数量大于自己看到的,而自己则肯定是病狗的主人了,于是开枪。

这里面的关键是为什么每个人都会等——因为在无法确认自己身份前(是否为病狗主人),每个人都不会行动,直到病狗主人们看到的数量已经小于天数了,而其他人都还没有行动,那么可以推论自己看到的一定是小数量的n(病狗数-1),而不是s(病狗总数),因此可以推证自己的狗是病狗喽!

这种思维就是根据别人的行动来推论自己的情况,是一个严格的数学逻辑过程,当然条件是不能存在欺诈——商业中可就不能这样去想了,否则会死的很惨,可能会白白杀掉了自己家的好狗:)
作者: unartist    时间: 2003-12-15 22:53
0只
作者: yegen    时间: 2003-12-18 19:19
我不去IBM了
作者: seven930    时间: 2003-12-20 23:45
3




欢迎光临 栖息谷-管理人的网上家园 (http://bbs.21manager.com.cn/) Powered by Discuz! X3.2