一道数学逻辑题(经典的)

一个村子里,有50户人家,每家都养了一条狗。现在,发现村子里面出现了n只疯狗,村里规定,谁要是发现了自己的狗是疯狗,就要将自己的狗枪毙。但问题是,村子里面的人只能看出别人... 一个村子里,有50户人家,每家都养了一条狗。现在,发现村子里面出现了n只疯狗,村里规定,谁要是发现了自己的狗是疯狗,就要将自己的狗枪毙。但问题是,村子里面的人只能看出别人家的狗是不是疯狗,而不能看出自己的狗是不是疯的,如果看出别人家的狗是疯狗,也不能告诉别人。于是大家开始观察,第一天晚上,没有枪声,第二天晚上,没有枪声,第三天晚上,枪声响起(具体几枪不清楚),问村子里有几只疯狗? 展开
教父萝卜
推荐于2017-09-07 · TA获得超过797个赞
知道小有建树答主
回答量:594
采纳率:0%
帮助的人:298万
展开全部
原题应该是这样的:
有一个小村庄住着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都意识到自己的狗是病狗,他们就开枪了。

结论:推理可一直进行下去,第几天开枪就有几条疯狗

参考资料: http://topic.csdn.net/t/20061124/16/5183147.html

ithinkitisok
2008-10-08 · TA获得超过139个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:0
展开全部
50只。因为有50户人家,第一和二天都 没有枪声,到了最后一天每户人家都想到自己家的狗是疯狗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式