题目:有15瓶一样的可乐,其中有一瓶变质了, 喝了一口之后2小时会闹肚子。最少需要多少只小白鼠做实验,才能在2小时时间内找到有变质的一瓶?
答案:四只
解法:把15个瓶子贴标签:A,B,C,D,AB,AC,AD,BC,BD,CD,ABC,ABD,BCD,ACD,ABCD
给4只老鼠起名字:分别叫A,B,C,D
给每只老鼠喝对应的饮料混合液,A老鼠喝 ABC,ABD,BCD,ACD,ABCD,AB,AC,AD,A——共八瓶,BCD老鼠同理…
最终老鼠的死亡情况可以从瓶子的标签看出,即15个标签对应15种死亡情况,
例如ABD就表示ABD三只老鼠死亡,C没事。所以此瓶贴有ABD的一定是毒药,实验测试完毕。
补充:贴有ABCD的瓶子其实不用用于测试,因为此瓶饮料所有的小白鼠都要喝,若此瓶是毒药,则全部死亡。
对实验改进:此瓶四个小白鼠都不喝,若ABCD全部存活,则此瓶是毒药。
优点:若ABCD是毒药(有1/15的概率),此时用新方法可以拯救4只小白鼠。
更好的方法:与计算机二进制联系起来
解法;
把15瓶可乐标签以0 1 表示,同时2^4 =16>15,第15瓶即为1110
第一只老鼠尝首位为0的所有饮料,第二只尝第二位为0的所有饮料,第三只尝第三位0的所有饮料,第四只尝第四位为0的的所有饮料。
假如除了第一只之外都死了,那有毒的可乐为1000,其他同理,所以4只就够了