Tel: +8610 6739 2009
Kill all impossible

村里有多少条病狗

村中有50个人,每人有1条狗。在这50条狗中有病狗(这种病不会传染),于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流。也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天、第二天都没有枪响,到了第三天传来一阵枪声,问有几条病狗,如何推算得出?

【分析】

根据题意推论如下:

(1)若病狗为1条,第一天那条狗必死,因为狗主人没看到病狗,但病狗存在。

(2)若病狗为2条,假设病狗主人为A、B。A看到一条病狗,B也看到一条病狗,但A看到B的病狗没死故知病狗的条数不为1,而其他人没病狗,所以自己的狗必为病狗,故开枪;而B的想法与A一样,故也开枪。由此,病狗为2条时,第一天过后2条狗必死。

(3)若病狗为3条,假设病狗主人为A、B、C。A 第一天看到2条病狗,若A设自己狗的不是病狗。由推理2知,第二天时,那2条狗没死,故狗的数量肯定不是2,而其他人没有病狗,所以自己的狗也为病狗,故开枪,而B和C的想法与A一样,故也开枪。由此,病狗为3条时,第二天过后3条狗必死。

(4)狗为4条,令病狗主人为A、B、C、D。A第一天看到3条病狗,若A 设自己的狗不是病狗,由推理3,第三天看时,那3条狗没死,故狗的数量肯定不是3 ,而其他人没病狗,所以自己的狗必为病狗,故开枪,而B、 C、 D 的想法与A一样,故也开枪。由此,病狗为4条时,第三天过后4条狗必死。

(5)余下即可递推。

还有一种简单的推论方法:

(1)假设有l条病狗,病狗的主人会看到其他狗都没有病,那么就知道自己的狗有病,所以第一天晚上就会有枪响。因为没有枪响,说明病狗数大于1。

(2)假设有2 条病狗,病狗的主人会看到有l条病狗,因为第一天没有听到枪响,所以病狗数大于1 ,病狗的主人会知道自己的狗是病狗,因而第二天会有枪响。既然第二天也没有枪响,说明病狗量大于2 。

由此推理,如果第三天枪响,则有3 条病狗。

【答案】

共有3条病狗。

One Comment

  • This is just a random comment. The former practice in many elementary schools of beginning the detailed study of American history without any previous knowledge of general history limited the pupil’s range of vision, restricted his sympathies, and left him without material for comparisons.

ADD YOUR COMMENT

feedback

Theme Options

Layout Style

Color Schemes

Bg Patterns (for boxed)

Bg Images (for boxed)