有1000瓶药瓶,只有一瓶有毒,小白鼠吃了一星期就会死掉,请问,在一星期内找出有毒的药瓶,至少需要多少只老鼠?
解:
第一步:标号
将10只小老鼠标上0-9号,1000瓶毒药换算为2进制数也编上00 0000 0000-11 1110 1000号。
第二步:喝水
水瓶编号 -> 老鼠编号
标号为0的老鼠喝掉水瓶标号中2^0位是1的水,例:10 0001 1111 -> 0
标号为1的老鼠喝掉水瓶标号中2^1位是1的水,例:10 0000 1111 -> 1
标号为2的老鼠喝掉水瓶标号中2^2位是1的水,例:10 0000 0110- > 2
……………………………………………………
标号为9的老鼠喝掉水瓶标号中2^9位是1的水. 例:10 0000 1111 -> 9
第三步:检查死亡老鼠
例如 :0 1 2 3 4 9号老鼠一周后死亡,那么意味着 水瓶标号为 2^0 ,2^1, 2^2, 2^3, 2^4, 2^9 位为1,其余位为0. 所以这瓶毒药的2进制标号为 10 0001 1111 -> 第543瓶有毒