http://www.crystalradio.cn/thread-32772-1-1.html
现在有1000个瓶子,里边有药,但有一瓶有毒
所以现在只有用小白鼠来试了,但小白鼠吃了这种毒药要一个星期才会发作
请问最少用多少只小白鼠可以一个星期内找出那瓶毒药
把10只小白鼠排成一个二进制数,最大的是:1111111111;然后把1000个瓶子,也按二进制编号,1号为:0000000001,2为:0000000010,3号为:0000000011………………依次排下去。
做试验时,按二进制数去给小白鼠吃药,对号入座,例如1号瓶是0000000001,就让1号老鼠吃;2号瓶为0000000010,就让2号老鼠吃;3号瓶为0000000011,就让1号、2号老鼠吃;4号瓶是0000000100,就让3号老鼠吃;5号瓶是0000000101,就让1号、3号老鼠吃………………如此排下去。
一星期后,看是第几号老鼠死了,就可算出第几号瓶来了。例如是:1号、2号、4号老鼠死了,那么对应的二进制数就是:0000001011,倒过来就可以算是第11瓶有毒了。
如果10只老鼠全死了,那就是1111111111,即是第1023号瓶有毒!咦?没有这么多号瓶子?那一定是那个实验员太残忍了,在找出毒瓶后,所有老鼠都给喂食了毒药。
不知道我的算法对否???
感觉做1号老鼠很惨哇,吃了那么多,会不会因为吃多撑死了,这个可以算是系统误差了吧?……………………