• 8个试剂,其中一个有毒,最少多少只小白鼠能检测出有毒试剂——分而治之思想


    面试题:8个试剂,其中一个有毒,最少多少只小白鼠能检测出有毒试剂

    方法1:

    用3只小鼠,能组合成8种状态。

    • 第一只喂食【1、3、5、7】四只试剂
    • 第二只喂食【2、3、6、7】四只试剂
    • 第三只喂食【4、5、6、7】四只试剂
    # [3、2、1]
    0 0 1 = 1  # 2、3没死,1死了,说明第1支试剂有毒
    0 1 0 = 2  # 1、3没死,2死了,说明第2支试剂有毒
    0 1 1 = 3  # 3没死,1、2死了,说明第3支试剂有毒
    1 0 0 = 4  # 1、2没死,3死了,说明第4支试剂有毒
    1 0 1 = 5  # 2没死,1、3死了,说明第5值试剂有毒
    1 1 0 = 6  # 1没死,2、3死了,说明第6值试剂有毒
    1 1 1 = 7  # 三只都死了,说明第7值试剂有毒
    0 0 0 = 0  # 三只都没死,说明第8值试剂有毒

    方法2:

    二分法,每次把试剂分成两堆,然后用两只小鼠测试,如果一只死掉了,那么就能确定哪一堆有毒。然后继续分。因此,小鼠的数量就是试剂能被二分的次数。8只试剂能被二分3次,所以就需要3值小鼠。——每次存活的小白鼠继续实验喝毒药。

  • 相关阅读:
    Oracle11gR2导入导出实战之物化视图prebuilt
    Oracle11gr2_ADG管理之switchover补充
    Oracle11gR2--手工建库&dbca建库
    Oracle11gr2_ADG管理之在备库上模拟failover的过程实战
    自己写个验证码类
    隐藏字符 BOM
    jquery与自己写的js文件冲突解决办法
    javaBean
    序列化
    UML
  • 原文地址:https://www.cnblogs.com/bonelee/p/9022031.html
Copyright © 2020-2023  润新知