老鼠试药

问题:现在有100瓶药,只有1瓶是有毒的,老鼠试完药后,需要3天才能才能知道药是否有毒,而现在需要3天知道100瓶中哪1瓶有毒,请问最少需要多少只老鼠。

方案:

因为2^7=128>=100,最少需要7只
将1~100转换为2进制数,一共7位。
假设对于某数的2进制为:C1 C2 C3 C4 C5 C6 C7
老鼠mi将ci为1的药都试了,若mi在3天后死了,说明毒药为2进制的第ci位为1的十进制对应的药。
如果死了C1 C2 C3,表明药的二进制的第1,2,3位都为1
原文地址:https://www.cnblogs.com/jiu0821/p/8629356.html