1000瓶藥,需要多少隻小白鼠試驗(二)

1000瓶水,其中有一瓶有毒,小白鼠喝後24小時會死忙。請問最少多少隻老鼠,可以在24小時測出哪瓶有毒。

答案:最少需要[log21000]=10只小白鼠

 

試驗方法:

1000瓶水,分別編號從11000,並用10位二進制表示。

10只老鼠,編號從09

喝藥策略:

對於編號爲X的水, 二進制表示爲b9b8b7b6b5b4b3b2b1b0。如果bi=1i=0,...,9),則表示第i個小老鼠要喝這瓶水;否則,不喝。

如:ID=7的水,二進制表示爲0000000111,則表示第012只老鼠要喝這瓶水,6-9小老鼠不喝。

結果:

假設編號爲X的水爲毒水(二進制表示爲b9b8b7b6b5b4b3b2b1b0)。

如果第i個小白鼠活着,則說明第i個小白鼠沒喝這瓶水,則bi=0

同理,如果第i個小白鼠死了,則說明第i個小白鼠喝了這瓶毒水,則bi=1

根據10只小白鼠的活(0)或死(1)的狀態,我們就可以唯一確定毒水的編號。

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