小白鼠和毒蜂蜜

来自计算思维百科
跳转至: 导航搜索
小白鼠和毒蜂蜜1.png

有10桶蜂蜜,其中1桶有毒。而老鼠一旦吃了,毒性会在24小时后发作。给你若干只小老鼠做实验,要在24小时后找出那桶毒蜂蜜,最少需要多少老鼠?

解决方案

方案1-二进制编码

从1开始给10桶蜂蜜编号,就是1~10。10个数至少需要用4个二进制数来表示。于是我们用4只老鼠,也给老鼠编号,编号方式如下,第一只老鼠编码的第一位为1,第二只老鼠编码的第二位为1,第三只老鼠编码的第三位为1,第四只老鼠编码的第四位为1:

小白鼠和毒蜂蜜2.png

每桶蜂蜜按照编号转换成二进制,如下图所示。

小白鼠和毒蜂蜜3.png

根据蜂蜜的二进制编号,编号中哪一位是1,就给哪一只老鼠吃。例如编号为0111的蜂蜜,第二、三、四位是1,那么就给第二、三、四只老鼠吃。分配给老鼠的蜂蜜方案如下:

小白鼠和毒蜂蜜4.png

最后死掉的老鼠是哪几只,就在四位二进制上的对应的那一位标1。例如,第二只、第三只老鼠死了,那么就在第二位和第三位上标1,即0110,说明第六桶蜂蜜是毒蜂蜜。

运用的计算思维

二进制编码法对蜂蜜和老鼠进行编号,巧妙将10个数字转化成二进制数,使得原本庞大的计算规模大大缩小,并且利用二进制数位之间的关系,轻松找到问题的解答方案,充分体现了转化、抽象的计算思维。

参考资料

《世界经典逻辑智力550例》  元坤 主编 海潮出版社