1000瓶毒药和10只小白鼠

有1000瓶药物,但是其中有一瓶是有毒的,小白鼠吃了一个星期以后就会死掉!
请问,在一个星期内找出有毒的药物,最少需要多少只小白鼠?

用二进制的思路去思考,1000瓶药代表了1000种状态,那么1000用二进制表示可以用一个10位的二进制数就可以全部表示出来,考虑用十只白鼠来试验,用0和1代表它们最终的状态即死亡或活着,初始状态十只白鼠表示为0000000000,对于每一瓶药,将其给它不为0的位数所对应的白鼠喝,如0000000011给第一只和第二只白鼠喝,这样如果如果最后死亡的是第二只和第四只白鼠就可以断定第0000001010瓶是毒药。

posted @ 2011-06-05 17:04  NelsonWang  阅读(2938)  评论(2)    收藏  举报