小白鼠试药问题

来源:互联网 发布:淘宝上new balance 编辑:程序博客网 时间:2024/05/22 16:50

题目如下:

实验室里有1000个一模一样的瓶子,但是其中的一瓶有毒。可以用实验室的小白鼠来测试哪一瓶是毒药。如果小白鼠喝掉毒药的话,会在一个星期的时候死去,其他瓶子里的药水没有任何副作用。请问最少用多少只小白鼠可以在一个星期以内查出哪瓶是毒药?


我们先说结论,然后证明,答案是10只。

理解:

1、将瓶子先编号。1,2,...,1000 从1号到1000号,标签贴在每个瓶子上

2、将1到1024翻译成 二进制编码,0000000001,00000000010,..., 11111111111, 标签贴在对应的瓶子上

3、小白鼠从1-10号位置排排坐,然后开始喂药,先从1号瓶开始,按照二进制编码喂药,即前面1-9号小白鼠对应为0不喂,第10号鼠喂药; 轮到2号瓶子,只有9号位小白鼠上是1,所以只有9号位小白鼠喝到2号瓶子的药剂,依次喂完1000瓶。

4、10个小白鼠总的死法组合里面,每一种都对应着一瓶药剂的标签。例如9,10号死了,那么对于的二进制编码为0000000011,翻译成10进制即3号瓶子里面是毒药。

0 0