命题逻辑——病狗问题

离散数学的第二堂课,郭老师又留了一道有意思的经典逻辑题,一起来看看吧。

问题描述:

一个大院子里住了50户人家,每家都养了一条狗,有一天他们接到通知说院子里有狗生病了,并要求所有主人在发现自己家狗生病的当天就要把狗枪杀掉。然而所有主人和他们的狗都不能够离开自己的房子,主人与主人之间也不能通过任何方式进行沟通,他们能做的只是通过窗户观察别人家的狗是否生病从而判断自己的狗病否。(就是说,每个主人只能看出其他49家的狗是不是生病,单独看自己的狗是看不出来的)

第一天没有枪声,第二天还是没有枪声,第三天传出一阵枪声,问有多少条狗被枪杀?

问题补充:

  1. 确实有狗病了,且狗病不会传染。即病狗数目不变。
  2. 相当于每个人无法看见自己的狗,只通过别人的狗的情况来判断。每个人都绝顶聪明,GRE逻辑能考满分。
  3. 每天每个人只思考一次,也就是说‘一天’只是一个抽象的概念,不要在‘一天’上钻牛角尖。

问题分析:

假设一:如果只有一只病狗,那么其中一个主人第一天通过观察其它49只狗都正常,但确实有狗病了,即可得知自己的狗有病,枪杀之。显然病狗不止一只。

假设二,如果有两只病狗。第一天其中两个主人通过观察发现其它49只狗中有1只病狗,因为不知道确切病狗的数量,所以都认为自己的狗没病;第二天,病狗的主人发现对方没有杀狗,说明还存在其它病狗——只有一种可能,就是自己的狗也有病。枪杀之。显然病狗不止两只。

假设三,如果有三只病狗,第一天其中三个主人通过观察发现其它49只狗中有2只病狗,因为不知道确切病狗的数量,所以都认为自己的狗没病;第二天,病狗的主人发现其它两方都没有杀狗,根据假设二,他们应该在第二天把狗枪杀。到了第三天,病狗的主人发现其它两方的病狗还活着,说明还存在其它病狗——只有一种可能,就是自己的狗也有病。枪杀之。

以此类推。显然符合题意的只有假设三——有三只病狗!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值