IBM的病狗式面試問題

學識都 人氣:2.4W

IBM的面試官在面試求職者的時候,出了一道比較經典的面試問題,那就是病狗試面試問題。朋友們敬請留意了。

IBM的病狗式面試問題

村子中有50個人,每人有一條狗。在這50條狗中有病狗(這種病不會傳染)。於是人們就要找出病狗。每個人可以觀察其他的49條狗,以判斷它們是否生病,只有自己的狗不能看。觀察後得到的結果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要槍斃自己的狗,而且每個人只有權利槍斃自己的.狗,沒有權利打死其他人的狗。第一天,第二天都沒有槍響。到了第三天傳來一陣槍聲,問有幾條病狗,如何推算得出?

推論:

A、假設有1條病狗,病狗的主人會看到其他狗都沒有病,那麼就知道自己的狗有病,所以第一天晚上就會有槍響。因爲沒有槍響,說明病狗數大於1。

B、假設有2條病狗,病狗的主人會看到有1條病狗,因爲第一天沒有聽到槍響,是病狗數大於1,所以病狗的主人會知道自己的狗是病狗,因而第二天會有槍響。既然第二天也每有槍響,說明病狗數大於2。

由此推理,如果第三天槍響,則有3條病狗。