[益智]:病狗问题

题目描述

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

答案

第几天有枪声,则一共死了几条狗

答案描述

  1. 第一天没有枪声,说明疯狗的数量大于1只.

因为如果是只有一只的话, 那么根据警察通知,50 条狗当中有病狗,行为和正常狗不一样:

  • 正常狗的主人将看到其他49只狗中有一条疯狗
  • 疯狗的主人看到的是49只正常狗,他能确定自己的狗就是那个疯狗, 就会一枪打死自己的狗.

没枪声反推可知第疯狗的数量大于1.

  1. 第二天没有枪声,说明疯狗的数量大于2只.

第一天没有枪声, 对于所有人家来说,都已知了一个条件:就是疯狗的数量大于1只,并且都知道其他人也知道这一点.

  • 如果疯狗是有两只的话.那么对于正常狗的人来说看到的是49只狗中有两只疯狗
  • 疯狗的主人看到的是49只狗中有一只疯狗.他就能确定自己的狗就是疯狗了,就会一枪打死自己的狗.

没枪声反推可知第疯狗的数量大于2.

  1. 第三天一阵枪响,说明疯狗的数量是3只.

这时候,所有人家又知道了一个条件:就是疯狗的数量大于2只,并且都知道其他人也知道这一点.

  • 疯狗的数量是三只的话,那么正常狗的主人之前看到的就是49只狗里面有3只疯狗
  • 疯狗的主人看到的就是49只狗里面有2只疯狗.

结合已知条件, 他就能判断自己的狗是疯狗,所以就会有三声枪声. 如果疯狗的数量大于3的话,就继续这样推理下去…

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

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章