找有毒酒
8瓶酒,有一瓶有毒,每次测试结果8个小时后得出。而你只有8个小时,问最少需要几个人测试?
8瓶酒按照二进制编码:
0: 0 0 0
1: 0 0 1
2: 0 1 0
3: 0 1 1
4: 1 0 0
5: 1 0 1
6: 1 1 0
7: 1 1 1
三个人分别喝3个位上为1的酒,即:
第一个人: 1 3 5 7
第二个人: 2 3 6 7
第三个人: 4 5 6 7
8瓶酒,有一瓶有毒,每次测试结果8个小时后得出。而你只有8个小时,问最少需要几个人测试?
8瓶酒按照二进制编码:
0: 0 0 0
1: 0 0 1
2: 0 1 0
3: 0 1 1
4: 1 0 0
5: 1 0 1
6: 1 1 0
7: 1 1 1
三个人分别喝3个位上为1的酒,即:
第一个人: 1 3 5 7
第二个人: 2 3 6 7
第三个人: 4 5 6 7
中毒的人在哪个2进制位填上为1而此2进制数又只有这一位为1,则这个2进制数代表的数就是毒酒的编号。
如2中毒,在第位为1,其他位为0的二进制数只有010,即是2,第3瓶久有毒
而进一步推出, 有n个实验者,最多可推出2的n次方个瓶子里有哪一瓶是带毒的