⑨ 村子里有50人,每人养1条狗。在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断他们是否生病,只是自己的狗不能
观察。观察后得到的结果不能交流,也不能通知病狗的主人。主人一旦推算出自己家的狗是病狗就要枪毙自己的狗,而且每个人只有权力枪毙自己的狗,没有权利打死其他
人的狗。第一天、第二天都没有枪响,到了第三天传来一阵枪响,问有几条病狗?
1)假如 只有一条狗有病,那么,这狗的主人看到其他49个狗没有病,便知道是自家狗有病了,于是,第一天就应该有枪声了。所以得,所有人都看到非自家狗有病 ,得病狗数大于1,
2)如果病狗有两个,那么,病狗主人看到其他人的狗中,有一个病狗,所以,第二天就应该把自己的狗杀了,而第二天没有枪声,说明病狗数大于2
3)假如是3个病狗,那么病狗的主人看到其他人的狗中,有两个狗有病,两天都没有枪声向,便可以知道自家狗有病了,于是第三天便把自家狗杀了
第三天枪声向,说明三狗病狗。。
同理可以递推,第n天有枪声,就有n个病狗