IBM的經典面試題

才智咖 人氣:4.19K

村子中有50個人,每人有一條狗。在這50條狗中有病狗(這種病不會傳染)。於是人們就要找出病狗。 

IBM的經典面試題

每個人可以觀察其他的49條狗,以判斷它們是否生病(如果有病一定能看出來),只是自己的狗不能看。觀察後得到的結果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要槍斃自己的狗(發現後必須在一天內槍斃),而且每個人只有權利槍斃自己的狗,沒有權利打死其他人的.狗。

第一天大家全看完了,但槍沒有響,第二天仍沒有槍響。到了第三天傳來一陣槍聲,問村裡共有幾條病狗,如何推算得出? 

(有答案,而且肯定百分百正確,推理很經典,會讓你有耳目一新的感覺) 

如果病狗數是1,那麼第一天這條狗就應該去見馬克思了,因為病狗主人如果看到四十九條狗都是健康的狗,那麼很容易就推論出自己的狗是病狗,可是第一個這條狗並沒有完蛋,說明病狗數大於1。

如果病狗數是2,那麼第二天這兩條狗就應該一起作伴共赴黃泉路,因為第一天這條病狗沒有完蛋,說明還有一條病狗存在,可是到了第二天也沒有槍聲,那就說明病狗數至少大於兩條。 

如果病狗數是3,那麼到了第三天,病狗的主人看到其餘兩條病狗怎麼還沒有完蛋,再加上自己僅僅看到了兩條病狗,由此可以很推斷出自己的狗就是病狗,所以第三天槍聲連續想起,說明這個村子的病狗數應該就是3條了。


 

TAGS:面試題 IBM