LS厉害,这些好像都是面试题~
樱花大战, 有爱.
其它四题都解答的比较圆满,我来回答一下第三题
首先,50条狗里有病狗是确定的,那么我们设其中一条病狗的主人为 A
若只有一条病狗,当 A 在看完其他49条狗后,发现其余的狗都是正常的,那必然只有他自己的狗有病,则第一天就会有枪响。而第一天没有枪响,那么 A 肯定在49条狗里发现了还有病狗,于是他无法确定自己的狗是否病狗。
若只有两条病狗,那么A第一天在49条狗里只发现了一条病狗,当第一天没有枪响时,A必然知道自己发现的那条病狗的主人在第一天必然也发现了病狗,否则他会在第一天杀掉自己的狗,所以A此时知道总共有两条病狗,那么他的狗必然也是病狗,那第二天应该就有枪响。然而第二天又没有……
说明A在49条狗里至少发现了两条病狗,当第二天没有枪响后,A明白必然其余的人也都至少像自己一样看到了2条病狗,因为所有人在第二天都没有开枪,这时……A想到他看到的那两条病狗的主人也都看到了两条病狗,但却都不知道自己的狗是不是病狗,那唯一的解释就是:A的狗是病狗!
所以第三天有了枪响,并且一定是三枪!
这题A的想法可以移植到另两位病狗的主人身上。
推广开来就是第n天枪响,就有n条病狗。当那些只看到n-1条病狗的人发现第n-1天没有枪响时,就会明白所有人都至少看到了n-1条病狗,包括那些自己看到的n-1条病狗的主人,那么第n天,这些人就会推出,自己的狗是病狗.