问题:
现有8杯水,其中有一杯是有毒的,中毒后24小时必死。请问24小时内最少需要多少只老鼠,可以测出哪杯水有毒?
将这十杯水分别编号为1-10,并且用二进制和矩阵来表示
0 0 0 1 一号杯
0 0 1 0 二号杯
0 0 1 1 三号杯
0 1 0 0 四号杯
0 1 0 1 五号杯
0 1 1 0 六号杯
0 1 1 1 七号杯
1 0 0 0 八号杯
转置矩阵

依上述场景,取4只容器,转置后的矩阵数列配组合溶液: 取数位上为1的水,放入相应的容器,即: 第一杯:只包含8号水 第二杯:包含4、5、6、7号水 第三杯:包含2、3、6、7号水 第四杯:包含1、3、5、7号水
取4只老鼠,编号1、2、3、4,分别喝下第一杯...第四杯水, 4只老鼠的生死状态依次记为 w x y z,(w,x,y,z = {0,1}) 死亡记作1,非死亡记作0 将二进制数列wxyz转为十进制,则得到有毒水的号码。
十个杯子呢?

最多需要四只老鼠来测试。
简单总结:
8杯水:2^3,需要四个二进制,就是4只老鼠
9杯水:2^3< x <2^4,需要四只
... |