A 从两头烧,B 从一头烧。当 A 烧完时,将 B 熄灭。再将 B 从两头烧,开始计时,烧完用 15 分钟。
- 容器 A 是 60L,容器 B 是 50L,A 装满倒入 B,A 还剩 10L,B 倒空,将 10L 倒入 B
- A 倒满,倒入 B,A 还剩下 20L,B 倒空,将 20L 倒入 B
- A 倒满,倒入 B,A 还剩下 30L,完成
22 次
- 步骤一:20 元钱换 20 瓶;(20 瓶)
- 步骤二:20 空瓶换 10 瓶;(10 瓶)
- 步骤三:10 空瓶换 5 瓶; (5 瓶)
- 步骤四:5 空瓶换 2 瓶,还余 1 空瓶;(2 瓶+ 1 空瓶 )
- 步骤五:2 空瓶换 1 瓶,还余 1 空瓶;(1 瓶+ 1 空瓶 )
- 步骤六:1 空瓶+余的 1 空瓶换 1 瓶;(1 瓶)
- 步骤七:1 空瓶换 1 瓶,欠老板 1 空瓶;喝完又有 1 空瓶,交给老板,共是 2 空 瓶;到此不余空瓶 ; (1 瓶)
- 步骤八:20 瓶+10 瓶+5 瓶+2 瓶+1 瓶+1 瓶+1 瓶=40 瓶
可以给1000瓶水按上述方法打上如下的二进制标签(10位长度,2^10 = 1024 ):
0000000001 (第1瓶)
0000000010 (第2瓶)
0000000011 (第3瓶)
…
1111101000 (第1000瓶)
从编号最后1位是1的所有的瓶子里面取出1滴混在一起(比如从第一瓶,第三瓶,…里分别取出一滴混在一起)并标上记号为1。
以此类推,从编号第一位是1的所有的瓶子里面取出1滴混在一起并标上记号为10。
现在得到有10个编号的混合液,小白鼠排排站,分别标上10,9,…1号,并分别给它们灌上对应号码的混合液。1个小时过去了,看看老鼠的死亡情况:
从左到右,死了的小白鼠贴上标签1,没死的贴上0,最后得到一个序号,把这个序号换成10进制的数字,就是有毒的那瓶水的编号。