共有3条病狗。
假设共有n条病狗。第一个人的狗编号为1,依次类推,第50个人的狗编号为50。以[1,2,3...]表示
病狗的数量, []中为狗的编号。所以[1-48,50]表示第49号人看到的病狗的数量。[1-50]=n
第一天,观测结果为:
1号村民:[2,50]>= 1
[1,3-50]>=1
[1-2,4-50]>=1
....
[1-48,50]>=1
50号村民 [1-49]>=1
每个人至少观测到1条病狗。如果有人的观测=0,那么他的狗一定有病,别人第一天就能听到枪声。当观测到1条
病狗后,村民不一定继续往下看,因为继续的结果,也不能判定自家的狗是否有病。
现在我们将50个不等式,左边相加,右边也相加:
49 * [1-50]>=50
49 * n >= 50
n>= (50/49)
n>1.0204
所以: n >=2
第二天,观测结果为:
1号村民:[2,50]>= 2
[1,3-50]>=2
[1-2,4-50]>=2
....
[1-48,50]>=2
50号村民 [1-49]>=2
每个人至少观测到2条病狗。如果有人的观测<2,那么他的狗一定有病,别人第二天就能听到枪声。当观测到两
条病狗后,村民不一定继续往下看,因为继续的结果,也不能判定自家的狗是否有病。
现在我们将50个不等式,左边相加,右边也相加:
49 * [1-50]>=100
49 * n >= 100
n>= (100/49)
n>2.0408
所以: n >=3
第三天,当有的村民看到的3条病狗后,村民不一定继续往下看,因为继续的结果,也不能判定自家的狗是否有
病。但是有的村民只能看到2条病狗(看了49条人家的狗后),说明他的狗有病,第三天才会听到枪声。
如果有n条病狗,那么n个村民只能观测到2条病狗。50-n个村民能观测到3条病狗。将50个村民的观测结果相加:
49 *[1-50] = 2 * n + 3 *(50-n)
49 * n = 150 -n
50 * n = 150
n= 3
所以: n =3