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

题目源自淘宝笔试

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。

转载于:https://www.cnblogs.com/honghuzidelaoren/p/3584358.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值