1000瓶水和老鼠
题目:现在有1000瓶水,里面有一瓶有毒,且老鼠喝了后24小时才毒发身亡,问若要求24小时内判断出哪瓶水有毒,最少需要多少只老鼠?
答:这其实是一道编码问题,2^9 <1000<2^10,所以需要10只老鼠。这里举8瓶水里找毒药的例子, 8=2^3,所以需要三只老鼠;
老鼠就代表了每个二进制位,1代表死亡,2代表没死
000代表第0瓶水有毒(没有老鼠死亡)
001代表第1瓶水有毒(代表只有一号老鼠喝了第1瓶水,且死亡)
010代表第2瓶水有毒(代表只有二号老鼠喝了第2瓶水,且死亡)
011代表第3瓶水有毒(代表只有一号、二号老鼠喝了第3瓶水,一号、二号老鼠都死亡)
…
以此类推
也就是1号老鼠喝了1,3,5,7的水;2号老鼠喝了2,3,6,7的水;3号老鼠喝了4,5,6,7的水。通过这样,再观察哪只老鼠死亡就可以得知结果。