此问题是个逻辑问题,你可以考虑用数学归纳法去想,我的基本思路如下:
1.假设只有1条病狗:病狗的主人看到其他49条狗都没有病,那么病狗的主人就知道是自己的狗有病,那么病狗的主人第一天就会把狗枪毙,也就是一条病狗,第一天就能听到枪响;
2.假设有2条病狗:也就是有病狗的主人有两个,第一天所有的主人都能看到至少1条病狗;根据假设1可知,如果只有一条病狗,第一天就会听到枪响;病狗的主人就知道不只1条病狗,但是两个病狗的主人只能看到一条病狗,那么自己那条狗肯定是病狗,就会开枪打死自己的狗,也就是说2条病狗,第二天就会听到枪响.
如此推断,n条病狗第n天会听到枪响;
现在是第3天听到枪响,那么病狗就有3条.
其实这个问题是个著名的逻辑问题的翻版,原题叫“脏童问题”,具体如下:
有若干儿童玩耍,一个大人对他们全体说:你们中有人额头上有脏。如果N个孩子脏,则在大人说N遍后脏童知道自己头上有脏。
推理如下:
推理可用数学归纳法:N=1时,当一个人脏时,他知道除自己外所有人都不脏,所以自己是脏的。
假设N=K时成立,脏童看到N个脏童,而此时大家还不知道谁是脏童,故有N+1个,则自己为脏童。
得证。
|