問題描述:有1000個一模一樣的瓶子,其中有999瓶是普通的水,有1瓶是毒葯。
任何喝下毒葯的生命都會在一星期之后死亡。現在你只有10只小白鼠和1個星期的時間,如何檢驗出哪個瓶子有毒葯?
解答:
根據2^10=1024,所以10個老鼠可以確定1000個瓶子具體哪個瓶子有毒。具體實現跟3個老鼠確定8個瓶子原理一樣。
000=0
001=1
010=2
011=3
100=4
101=5
110=6
111=7
一位表示一個老鼠,0-7表示8個瓶子。也就是分別將1、3、5、7號瓶子的葯混起來給老鼠1吃,2、3、6、7號瓶子的葯混起來給老鼠2吃,4、5、6、7號瓶子的葯混起來給老鼠3吃,哪個老鼠死了,相應的位標為1。如老鼠1死了、老鼠2沒死、老鼠3死了,那么就是101=5號瓶子有毒。
同樣道理10個老鼠可以確定1000個瓶子。
此外,還有各種奇葩解答:
1、將10只老鼠剁成餡兒,分到1000個瓶蓋中,每個瓶蓋倒入適量相應瓶子的液體,置於戶外,並每天補充適量相應的液體,觀察一周,看哪個瓶蓋中的肉餡沒有腐爛或生蛆。
2、1000個瓶子,每個老鼠就得喝500口——結論:所有的老鼠都在喂葯過程中被撐死了。
