问题1:有1000瓶外表一样的水,其中一瓶里面有毒药,老鼠喝下毒药1天内会死,求怎样在一天内用最少的老鼠数量判断哪瓶水有毒。
答:10只老鼠。用一天的时间就是说只做一轮实验,瓶子用编号0~999(用10位2进制数,即0000000000,0000000001,0000000010……,这样瓶子的编号从右往左分别为0号位、1号位……一共10个位),给老鼠编号0~9,i号老鼠喝下所有i号位为0的瓶子的水,这样如果有i号老鼠死了(真残忍T_T)就知道毒药的i号位为0,没死则为1,就得到了瓶子的编号。
问题2:有1000瓶外表一样的水,其中一瓶里面有毒药,老鼠喝下毒药1天内会死,求怎样在k天内用最少的老鼠数量判断哪瓶水有毒。
答:光说怎么做实验好了。假设答案是用了x只老鼠(编号0~x-1),用k天则可做k轮实验,用k进制给0~999号瓶子编号,第一轮i号老鼠喝下i位为0的瓶子的水,如果j号位老鼠死了,则毒药的j号位为0,。第二轮,i号位老鼠继续喝下i号位编号为1的瓶子的水(当然死老鼠就没办法喝水了),如果j号位老鼠死了,则毒药的j号位为1,如次进行k轮实验即可。