简介:
1000 瓶无色无味的药水,其中有一瓶毒药,10只小白鼠拿过来做实验。喝了无毒的药水第二天没事儿,喝了有毒的药水后第二天会死亡。如何在第二天找出这瓶有毒的药水?(允许多只小白鼠喝同一瓶药水。药水管够)
用二进制解决
2^10=1024,也就是10只小白鼠最多能验出1024瓶药水
小白鼠编号,1-10。
瓶子也编号,1-1000,
然后把瓶子的编号转变为二进制数。
如果二进制数第几位是1,就把这瓶水给第几个小白鼠喝。
瓶子编号 瓶子编号转换成二进制数 喝这瓶药水的小白鼠
1 0000000001 第1只
2 0000000002 第2只
3 0000000011 第1只 and 第2只
...
最后第1只和第3只小白鼠都死了,聪明的你知道答案吗?