问题:有1000杯水,其中有一杯是毒水,现在需要从中找出含毒药的水,可以用老鼠来实验;老鼠如果喝了有毒的水,一个小时内必死,请问如何安排试验,能够用最少的实验材料在一个小时内检测出有毒的水?

对于每一杯水,我们可以选择让哪些老鼠喝,哪些老鼠不喝,将10个老鼠编号,就可以将老鼠们的喝与不喝的情况转化成二进制,比如1号鼠和3号鼠喝,那二进制就是0000000101,那我们可以用这个二进制标识一杯水,因为2的10次方是1024,因此每杯水的二进制都可以不一样。一个小时内,喝了有毒的水的老鼠必死,根据死亡情况和老鼠的编号就判断出哪一杯水有毒,比如1号鼠和3号鼠死了,那有毒的那杯水的二进制编码就是0000000101。

原文地址:https://www.cnblogs.com/catpainter/p/12600448.html