用最少老鼠数找出7瓶药中的1瓶毒药
原文链接:https://www.jianshu.com/p/607d6683748b
https://blog.csdn.net/limitless1113/article/details/46681851
题目如下:现有7瓶药,其中有一瓶毒药,喝了之后1小时后才产生效果,现在你有1个小时的时间,请问找出那瓶毒药最少需要多少只老鼠?
现在有3只老鼠,那么我们以老鼠的死和排序作为一瓶药的编号。例如:
001 代表第一瓶药
010代表第二瓶药
011代表第三瓶药
100、101、110、111一次类推
将所有编号第1位是1的分在第1组,编号第2位是1的分在第2组,编号第3位是1的分在第3组。
因此,第一只老鼠(从右往左数)要喝的有1、3、5、7 四瓶药,第二只老鼠要喝的有2、3、6 、7三瓶药,第三只老鼠喝的是4、5、6、7 四瓶药。
第一只老鼠死了代表第一瓶是毒药,第二只死了代表第二瓶是毒药,第一和第二都死了代表第3瓶是毒药,第三只死了代表第4瓶是毒药,第一和第三死了代表第5瓶是毒药、、、以此类推
用10只老鼠可以找出1024瓶水中的1瓶毒药