[淘宝]小白鼠与毒药问题

题目源自淘宝笔试

Q:我们有很多瓶无色的液体,其中有一瓶是毒药,其它都是蒸馏水,实验的小白鼠喝了以后会在5分钟后死亡,而喝到蒸馏水的小白鼠则一切正常。现在有5只小白鼠,请问一下,我们用这五只小白鼠,5分钟的时间,能够检测多少瓶液体的成分?

A、5瓶  B、6瓶  C、31瓶  D、32瓶

很多瓶液体中有一瓶为毒药,5分钟时间测出成分,因此5只小白鼠需要同时进行试验。

题目类似于5只手指可以表示多少数字,可以联想到5位二进制数,有2^5=32种表现方式,即可以有32瓶液体。

将5只小白鼠分别映射到5位二进制数每一位上,如下

第一只:_ _ _ _ 1  

第二只:_ _ _ 1 _

第三只:_ _ 1 _ _

第四只:_ 1 _ _ _

第五只:1 _ _ _ _

将以1结尾的数目的瓶子部分液体混合,给第一只小白鼠喝,即将1、3、5、7、9、11、13、15、17、19、21、23、25、27、29、31号共16瓶的部分液体混合,给第一只小白鼠喝。后面类推。

以1表示死亡,0表示正常,若第一只、第四只死亡,即01001=9瓶液体是毒药。

这里还需要注意一个情况,当5只小白鼠都正常,即00000,题目中是很多瓶液体,因此只能判定前31瓶液体不是毒药,毒药存在于其他瓶子中。

因此可以检测2^5-1=31瓶,选C。

posted @ 2014-03-06 13:39  红胡子的老人  阅读(429)  评论(0编辑  收藏  举报