题目
有1000个一模一样的瓶子,其中有999瓶是普通的水,有1瓶是毒药。任何喝下毒药的生命都会在一星期之后死亡。现在你只有10只小白鼠和1个星期的时间,如何检验出哪个瓶子有毒药?
解题思路:二进制
有1000瓶,, 也就是说,1000瓶药品可以使用10位二进制数就可以表示。
- 第 1 瓶 :
00 0000 0001
- 第 2 瓶 :
00 0000 0010
- 第 3 瓶 :
00 0000 0011
- ……
- 第 999 瓶:
11 1111 0010
- 第1000 瓶:
11 1111 0011
需要10只老鼠,给老师按顺序编号:ABCDEFGHIJ 分别代表从低位到高位每一个位。 每只老鼠对应一个二进制位,如果该位上的数字为 1,则给老鼠喝瓶里的药。
观察,若死亡的老鼠编号为:ACFGJ,一共死去五只老鼠,则对应的编号为 10 0110 0101, 则有毒的药品为该编号的药品,转为十进制数为:613号。