问题:
现有100个瓶子,其中有一瓶是毒药,99瓶为正常,它们无论外观、气味等等均相同。现有7只小白鼠、无限多干净的试管,老鼠喝药后一周以后才会死去。请问你怎么找出那瓶毒药?
另一种问法:至少需要几只小白鼠才能找出那瓶毒药?
解题
分别把100个瓶子、7只老鼠进行编号。
100个瓶子进行二进制转换,如下:
- 将它们排列好,分成从左到右7列;
- 让编号为1的老鼠喝第一列数字为1的药(喝一点点就可以,药性很强,不考虑稀释问题),然后让编号为2的老鼠喝第二列数字为1的药,……,以此类推;
- 一周后观察老鼠死亡情况(不考虑自然因素);
- 若编号为1 3 5 7的老鼠死亡,以二进制的形式表现就是:1010101,转化为十进制后为:64+16+4+1=85
- 毒药找到,解题完毕!