zoukankan      html  css  js  c++  java
  • 数学问题:1000瓶酒找1毒酒

    题目:

    某酒主人要宴请客人,他共有1000瓶酒,其中1瓶有毒。一旦喝了毒酒后,会在一周后发作,现在如果我们用试纸进行检测,滴了毒酒

    的试纸会在1周后变色,问最少需要多少张试纸可以检测出哪瓶有毒?

    解答:

    10张试纸即可。


    10张试纸按从左到右的顺序一字排好,每瓶酒也编上号1到1000,并把编号转换成10位二进制形式,数位和试纸的位置一一对应,把

    酒滴到酒二进制编号数相应位置上是1的试纸上(每一瓶酒都要滴)。一周后看变色的试纸有哪几张,然后排成二进制,再转成十进制

    就是第几瓶酒。比如:第70瓶酒,70转换成二进制为0001000110,那么就滴到第4、8、9张试纸上。如果最后第3、7、8张试纸变

    色,那么就是0010001100,转换成十进制就是140,即140瓶酒有毒。因此理论上用10张试纸可以检测1024瓶酒中哪一瓶酒有毒。

    -- 关注我, 让你跑得更快
  • 相关阅读:
    java 接口中的成员变量与方法
    Spring BeanPostProcessor
    MySQL更改命令行默认分隔符
    java 动态代理
    《剑指offer》:[62]序列化二叉树
    group by语法
    Mysql两种引擎
    线程池大小设置
    Synchronized及其实现原理
    CAS ABA问题
  • 原文地址:https://www.cnblogs.com/sunsky303/p/13846247.html
Copyright © 2011-2022 走看看