面試題--小白鼠實驗

實驗概述

你有1000個瓶子,其中有1瓶是毒藥,其他999瓶是水,且毒藥的形態和水一樣,從外觀上與水沒有差異。小白鼠喝了毒藥以後會在一週後死亡。現在你有10只小白鼠,和一週的時間,試問如何在一週的時間裏找出這瓶毒藥。

分析

由於小白鼠只有10只,不可能簡單的讓每隻小白鼠都喝這1000個瓶子裏的液體,所以我們需要想辦法讓這10只小白鼠和1000個瓶子產生聯繫。

解答

將1000個瓶子編號爲1~1000,2的10次方爲1024>1000,所以能想到用二進制方法來表示。

瓶子編號 小白鼠排列
1 0000000001
2 0000000010
3 0000000011
··· ···
888 ‭1101111000‬
··· ···
1000 ‭1111101000‬

如上列表所示,將小白鼠依次編號,從左往右依次是第10只、第9只···第1只。接下來給小白鼠按列表喝瓶子裏的水,例如第一瓶給第一隻喝,第二瓶給第二隻喝,第三瓶給第一隻以及第二隻喝······第888瓶給第10、9、7、6、5、4只喝。一週以後,由於小白鼠喝了毒藥會死亡,所以根據最後的小白鼠的存活情況可以確定哪一瓶是毒藥。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章