小白鼠试药
题目:
有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只老鼠才能在24小时时鉴别出哪瓶水有毒?
思路:
可以用二进制来解决这个问题。
给1000个瓶分别标上如下标签(10位长度):
0000000001(第一瓶)
0000000010(第二瓶)
0000000011(第三瓶)
…
1111101000(第1000瓶)
从编号最后1位是1的所有瓶子里取出1滴混在一起(比如从第一瓶,第三瓶,…里取出一滴混在一起)并标上记号1.一次类推,从编号第一位是1的所有的瓶子里取出1滴混在一起并标记为10。
现在得到有10个编号的混合液,小白鼠排排站,分别标上10,9,8,..,1号,并分别给他们灌上对应号码的混合液。24小时过去后来验尸。
从左到右,死了的小白鼠贴上标签1,没死的贴上0,最后得到一个序号,把这个序号换成10进制的数字,就是有毒的那瓶水的编号。