應該是道面試題。
題目描述:有1000桶蜂蜜,其中只有1桶被人投了毒(一滴就足以至人死亡,但發做的時間要24小時),現有足夠的小白鼠供你實驗,並假設小白鼠中毒發做時間和人同樣,請問在24小時找出這桶毒蜂蜜的話至少須要多少個小白鼠?(意思是讓小白鼠同一時間喝下蜂蜜)面試
若是沒有限制在24小時內,能夠考慮用分治——把全部蜂蜜分紅兩堆,把第一組餵給一隻白鼠喝,若是老鼠死了,那麼說明有毒的必定在這500個裏面,繼續分,繼續喝,繼續分….
可是這裏限制必須24小時內得出結果。那麼就給每一個木桶編號,轉換成二進制,對應二進制爲1的給對應位的老鼠喝。假設共有8個桶,編號爲000,001,010,011,100,101,110,110,111 ,第一隻老鼠喝001,011,101,111,第二隻老鼠喝010,011,110,111,第三隻老鼠喝100,101,110,111,若是第一隻和第三隻老鼠死了,那麼有毒的木桶就是1*2^0+0*2^1+1*2^2+1=6.
所以這個題的答案是10只.markdown
若有不當之處歡迎指出!!class