zoukankan      html  css  js  c++  java
  • [淘宝]小白鼠与毒药问题

    题目源自淘宝笔试

    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。

  • 相关阅读:
    Pytest(2)使用和调用方法
    lnmp一键搭建环境 running
    cd / 、cd~、cd .和cd..区别 running
    php算法之冒泡排序 running
    linux系统安装 running
    webpack之urlloader running
    Unix系列shell程序编写(下)
    目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
    Unix系列shell程序编写(上)
    在vmware下安装的linux系统上添加eth1
  • 原文地址:https://www.cnblogs.com/honghuzidelaoren/p/3584358.html
Copyright © 2011-2022 走看看