logo
推荐语:

微软面试题

作者:

慕容玖

TOP龙虎榜
暂无数据
TOP魅力榜
暂无数据
TOP火花榜
暂无数据

白鼠试毒

阅读(142)
进位制
收录于高中数学 -- 2022年07月15日

最少需要几只小白鼠才能在最短的时间内找出有毒的试剂?

展开正文...

前往题库

已知某实验室的1000瓶试剂中有1瓶有毒, 任何剂量或混入其他试剂, 均可致死, 但其余试剂无毒, 小白鼠喝了有毒的试剂后, 会在24小时后毒发身亡, 如果现在用小白鼠喝试剂, 假设试剂足够, 可以分成多份, 小白鼠一次可以喝多瓶试剂. 那么至少需要__________只小白鼠, 便可以在24小时后检测出有毒的拿瓶试剂.

提交
23 人参与了问题讨论
    慕容玖

    至少需要10只白鼠.

    将1000只瓶子从 0 到 999 依次编号, 然后全部转换为 10 位二进制数.

    让第一只老鼠喝掉所有二进制数右起第一位是 1 的试剂, 让第二只老鼠喝掉所有二进制数右起第二位是 1 的试剂, 以此类推.

    24小时后, 如果第一只老鼠死了, 就知道毒药瓶子的二进制编号中, 右起第一位是 1 ;如果第二只老鼠没死, 就知道毒药瓶子的二进制编号中, 右起第二位是 0 ⋯⋯每只老鼠的死活都能确定出 10 位二进制数的其中一位, 由此便可知道毒药瓶子的编号了.

    比如, 最后第3, 4, 8只老鼠死了, 那么就对应0010001100, 转换成十进制就是140, 即编号140的那瓶试剂有毒.

    因此理论上用10只小白鼠可以检测瓶试剂中哪一瓶有毒.

    • 3
    • 0
    • 评论(1)
    • 举报