兔子试毒药问题分析

问题描述: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 号都死了就是滴三瓶。。。。。。

 

posted @ 2021-05-01 21:16  欧柏-pyy  阅读(353)  评论(0)    收藏  举报