10杯水只有一滴有毒,用四只老鼠测试,二进制的方法快速找出哪瓶有毒;

10杯水只有一滴有毒,用四只老鼠测试,二进制的方法快速找出哪瓶有毒;

分析,杯子1-10用二进制分别表示为

第一杯: 0000001

第二杯: 0000010

第三杯: 0000011

第四杯: 0000100

第五杯: 0000101

第六杯: 0000110

第七杯: 0000111

第八杯: 0001000

第九杯: 0001001

第十杯: 0001010

个位数为1的 1 3 5 7  9 由第一只老鼠喝

十位数为1的 2 3  6 7 10 由第二只老鼠喝

百位数为1的 4 5 6 7 由第三只老鼠喝

千位数为1的 8 9 10 由第四只老鼠喝

分组后四只老鼠同时喝下去,如第一只死掉的话,肯定是第一瓶,如果第一 、二只死掉 是第三瓶 ,如果第一和第三只死掉是第五瓶,如果是第一只和第四只一起死掉是第九瓶,以第一瓶为组合的结束后,再以第二只开始,如果只有第二只死亡,可以确定是第二瓶,如果 2  3 老鼠死掉是第6瓶,如果2  4老鼠死掉,那是第10瓶, 如果第三只老鼠单独死掉 那是第4瓶,如果第四只老鼠单独死掉那是第8瓶,最后三只老鼠一起死掉的情况, 1  2 3只老鼠一起死掉的话可以确定是 第七瓶;

原文地址:https://www.cnblogs.com/pytest/p/10488087.html