看一个有趣的问题~

在100瓶药水中只有1瓶是毒药,药水无色无味,但只要老鼠喝完毒药水就会在24内小时毒发,假设老鼠可以不断地投喂药水,如何用最少的老鼠在24小时内找出毒药?

先思考一下。。。

简单理解二进制(三分钟让你了解奇妙的二进制)(1)

这里介绍一种思路,二进制思想。

十进制怎么转换成二进制,这个想必大家初中学习计算机基础就会了,就不再赘述了,提供一个在线进制转换的工具。

https://tool.oschina.net/hexconvert

100转换成二进制是 1100100

1表示成二进制是 0000001

也就是,1到100转成二进制最多需要7位二进制数,于是有这么一个思路:

1-100中转成二进制数后倒数第一位是1的药水各取一点给小鼠1喝掉,也就是第1、3、5、7.....99瓶药水各倒一点,给小鼠1喝;

1-100中转成二进制数后倒数第二位是1的药水各取一点给小鼠2喝掉,也就是第2、3、6、7....99瓶药水各倒一点,给小鼠2喝;

以此类推。。

结果分析,假设有1、3、6只小鼠24h后挂掉,那么说明2、4、5、7只小鼠喝掉的肯定是无毒的药水,那么按照规则就是:0100101,将二进制转成十进制也是初中基础知识,可参考上面的在线工具转换,计算结果就是37,也就是第37瓶药水是有毒的~

这个趣味题有没有让你脑洞大开[可爱]

,