上次在在javaeye 上看到一個智力題:
大概是1000瓶藥中有一瓶是毒藥,老鼠在喝道毒藥後24小時死亡,在24小時內最少用多少隻老鼠可以檢測出老鼠。
發現居然和我以前做過的智力題有點相似
以前的是 8個蘋果其中一個比其他的輕,最少用幾次可以用天平稱出這個最輕的。
在javaeye上看到一個比較經典的回答
把老鼠的生死看成一個開關
所有每隻老鼠可以產生2種情況
這樣2的10次方就可以產生1024種情況
具體實現是這樣的
比如有A,B兩隻老鼠
有4個瓶子 a,b,c,d
A喝a,b B喝b,c
這樣
A死B死 b
A活B活 d
A活B死 c
A死B活 a
也就是2的2次方 可以判斷4個瓶子
同理2的3次方 就是最多8個瓶子
把8個瓶子每兩個分成一組後就可以按照上面的方法測出8個瓶子中的毒瓶。
所以最後的答案是10。
發現蘋果的也可以這樣
1.把天平稱稱一次當做老鼠的個數
2.把天平稱一次出的結果當做老鼠的死活
這裏有3種結果,一般稱的時候是3個蘋果 A,B,C
兩個A,B放在上面
天平平衡 C是輕的蘋果
否則是 A或B
3.蘋果的個數是老鼠的個數
所以3的2次方是9 稱2次最多可以測出9個蘋果中的輕蘋果,當然也就可以稱出8個的咯。
所以蘋果的答案是2。