欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

兔子试毒药问题分析

程序员文章站 2024-03-25 23:16:46
...

1000瓶一样的液体,其中一瓶有毒,毒发期为一个星期,现在有一个星期的时间,怎么通过用最少的兔子来找出哪一瓶有毒?

  1、一般方法
    - 用1000只兔子,每只兔子和液体编号,分别给每只兔子和对应的液体
   这种方法简单粗暴,但是显然不符合题设要求
  2、使用二进制
  - 将1000瓶液体编号使用二进制表示,例如:2用二进制表示就是10,3就是11,1000就是11,1110,1000
  - 然后取10只兔子,第一瓶喂给1号兔子和,第二瓶给2号兔子和,第三瓶给1,2号兔子喝,以此类推,第1000瓶给第4,6,7,8,9,10号兔子喝。这样就使用10只兔子唯一的标识了1000瓶液体。
  - 等到毒发,如果只有1号兔子死了,那么就是第一瓶,如果1, 2 号都死了就是滴三瓶。。。。。。
相关标签: 逻辑