村裏有幾只疯狗
人气:
【字体:大 中 小】
发布时间:2009-02-11 11:51:10
>>>>>>>>提问
有一个村里有50个人。每一个都有一只狗。有一天。村长开会说村里有疯狗。让村民去查。首先,疯狗肯定有。每个村民只能检查别人的狗。不能检查自己的。而且得出的结论不能相护交流。每个村民在知道自己的狗是疯狗的当天就必需开枪把它打死。自己只能打自己的狗。村民都是很聪明的。第一天没有枪声。第二天也没有枪声。到了第三天村里响起一阵枪声。请问村里一共有几只疯狗?还要说出理由哦!
>>>>>>>>休闲养生网回答:休 闲 居编辑
原题应该是这样的:
有一个小村庄住着50户人家,每户人家都养了一只狗。有一次村子里出疯狗了。大家在一起商议:每天上午大家都要到每一户人家去查看狗,一旦发现自己家的狗是疯狗时,必须在当晚开枪把自家的疯狗杀死。这村子的人家都有这样一种本领,就是能看出别人家的狗到底是不是疯狗,但是看不出自家的狗是不是疯狗。并且互相不能告知真相。第一天,第二天,村子没有枪声,到了第三天晚,村子里响起了枪声,村子里所有的疯狗都被杀死了。问村子里到底有多少条疯狗?
首先:每个人都清楚疯狗是一定存在的
假设:有一个人发现他所观察的除自己外的49家里有48家是好狗,1家是疯狗,
由于对自己家的狗无法判断,因此这时候他得出结论:至少有1只疯狗,至多2只(加上自己家的)
如果是1,那么有49家的是好狗,自己属于“49家好狗阵营”;如果是2,那么有48家好狗,自己属于“2家疯狗阵营”
虽然他无发确定是1还是2,但是他会推理:
假如是1,即自己的狗也是好狗,只有他看到那只狗是唯一的疯狗,设其主人为a
那么a就会看到别人的狗都是好狗,而a又清楚一定存在疯狗,这只能是a自己的狗
因此a第一天就会开枪杀狗.
但是第一天并没有人开枪,
这就说明a并没有看到“别人的狗都是好狗”,
因此疯狗数不是1而是2,“有一个人”自己不属于“49家好狗阵营”而是属于“2家坏狗阵营”——除了自己和a之外的48家是好狗
所以第二天他就会开枪杀死自己的狗
a和“有一个人”的情形完全一样,基于同样的推理也会在第二天开枪,
所以,如果第二天有人开枪意味着疯狗数是2
但是第二天没人开枪,
因此“有一个人发现他所观察的除自己外的49家里有48家是好狗,1家是病狗”这个假设不成立
疯狗数不是2,当然更不是1
继续假设:有一个人发现他所观察的除自己外的49家里有47家是好狗,2家是疯狗
由于对自己家的狗无法判断,因此这时候他得出结论:至少有2只疯狗,至多3只(加上自己家的)
如果是2,那么有48家的是好狗,自己属于“48家好狗阵营”;如果是3,那么有47家好狗,自己属于“3家疯狗阵营”
虽然他无发确定是2还是3,但是他会推理:
假如是2,即自己的狗也是好狗,他看到那2只狗是全部疯狗,设其主人为a、b
a或b也都会做推理,例如a会推理病狗数是1或2,推理过程前面已经说了
如果是2,第二天a和b都会开枪,但第二天还是没人开枪
所以只能是3,也就是说“有一个人”自己不属于“48家好狗阵营”而是属于“3家病狗阵营”
所以第三天有人开枪,就说明“有一个人”、a、b都意识到自己的狗是病狗,他们就开枪了。
结论:推理可一直进行下去,第几天开枪就有几条疯狗
这个推理比较绕,像数学上的叠代法,我也没推出来,是看了别人的解答:)
≡ 查看、发表评论 ≡