有50 只狗,找出其中病狗

题目: 有50 家人家,每家一条狗。有一天警察通知,50条狗当中有病狗,行为和正常狗不一样。每人只能通过观察别人家的狗来判断自己家的狗是否生病,而不能看自己家的狗,如果判断出自己家的狗病了,就必须当天一枪打死自己家的狗。结果,第一天没有枪声,第二天没有枪声,第三天开始一枪响,问:一共死了几条狗?

第一天没有枪声,说明疯狗的数量大于1只. 因为如果是只有一只的话, 那么根据(已知条件1)警察通知,50
条狗当中有病狗,行为和正常狗不一样。那么正常狗的主人将看到其他49只狗中有一条疯狗,
而疯狗的主人看到的是49只正常狗,他能确定自己的狗就是那个疯狗, 就会一枪打死自己的狗. 没枪声反推可知第疯狗的数量大于1.

第二天没有枪声,说明疯狗的数量大于2只. 第一天没有枪声,
对于所有人家来说,都已知了一个条件(已知条件2):就是疯狗的数量大于1只,并且都知道其他人也知道这一点.
如果疯狗是有两只的话.那么对于正常狗的人来说看到的是49只狗中有两只疯狗,
疯狗的主人看到的是49只狗中有一只疯狗.他就能确定自己的狗就是疯狗了,就会一枪打死自己的狗. 没枪声反推可知第疯狗的数量大于2.

第三天一阵枪响,说明疯狗的数量是3只.
这时候,所有人家又知道了一个条件(已知条件3):就是疯狗的数量大于2只,并且都知道其他人也知道这一点.
疯狗的数量是三只的话,那么正常狗的主人之前看到的就是49只狗里面有3只疯狗,而疯狗的主人看到的就是49只狗里面有2只疯狗. 结合已知条件3,
他就能判断自己的狗是疯狗,所已就会有三声枪声. 如果疯狗的数量大于3的话,就继续这样推理下去…

由此,能推导出:如果疯狗的数量是n(n>0)的话,那么应该在第n天能确定自己的狗是不是疯狗.

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值