IBM公司筆試題:病狗問題
村子中有50個人,每人有一條狗。在這50條狗中有病狗(這種病不會傳染)。于是人們就要找出病狗。每個人可以觀察其他的49條狗,以判斷它們是否生病, 只有自己的狗不能看。觀察后得到的結果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要槍斃自己的狗,而且每個人只有權利槍斃自己的 狗,沒有權利打死其他人的狗。第一天,第二天都沒有槍響。到了第三天傳來一陣槍聲,問有幾條病狗,如何推算得出?
推論:
A、假設有1條病狗,病狗的主人會看到其他狗都沒有病,那么就知道自己的狗有病,所以第一天晚上就會有槍響。因為沒有槍響,說明病狗數(shù)大于1。
B、假設有2條病狗,病狗的主人會看到有1條病狗,因為第一天沒有聽到槍響,是病狗數(shù)大于1,所以病狗的主人會知道自己的狗是病狗,因而第二天會有槍響。既然第二天也每有槍響,說明病狗數(shù)大于2。
由此推理,如果第三天槍響,則有3條病狗。