小白鼠鉴别有毒水问题

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ustbsmartcar/article/details/84044127

题目:有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出哪瓶水有毒。

 

  1. 将1000瓶水编号。准备10个盘子并编号。准备10只小白鼠并编号
  2. 2^10=1024,用二进制表示为10000000000,一共有11位,因为1024>1000,所以1000瓶水分别可以抽象表示为10位二进制数。将10个盘子分别对应每一位。将10只小白鼠分别对应每一盘。
  3. 将每瓶水的编号转成十位二进制,如7号瓶为0000000111,将该瓶水滴入10个盘子中对应7号瓶二进制数位为1的盘子中。
  4. 让小白鼠喝下对应盘子中的水。
  5. 24小时时看分别是哪几只小白鼠死亡,用10位二进制数对应10只小白鼠,死亡小白鼠对应位为1,非死亡小白鼠对应位为0,最后得到的二进制数几位有毒的一瓶水。如从左到右排号的话,第二和第四只小白鼠死亡,即0000001010,则有毒的水必为第10号瓶。

 

展开阅读全文

没有更多推荐了,返回首页