有1000杯水,其中有一杯是毒水,可以用小白鼠实验,小白鼠喝毒水1小时后必死,请问如何找出这杯毒水。
将1000杯水编号(1-1000),将其转化为2进制码,取10只小白鼠(为什么是10只,因为其1000的2进制码长度是10位),给10只小白鼠编号1-10,第一只小白鼠喝第一位2进制码为1的(1000杯中2进制码第一位为1的都要喝),第二只小白鼠喝第二位2进制为1的(1000杯中2进制码第二位的都要喝)以此类推一直到第10只小白鼠喝完,然后1小时后看那几只小白鼠会死,死掉的小白鼠用1表示,未死的用0表示整理出10位2进制码,比如第1、3、5只小白鼠死掉那么2进制码为 0000010101 转化10进制码为21
表示第21杯水是有毒的。
反过来讲如果是第10杯水有毒那是那几只小白鼠会死呢,我们将10二进制化为1010,那死的应该就是第2、第4只了。
鼠兄内心一万只草泥马崩腾而过,你们就不能换个其他物种的啊
我自悲伤,我自笑,狂傲一生喝毒药