问题描述:
有16瓶药水,其中一瓶有毒,一只小白鼠喝过之后,一天之后会死亡,要求一天后,至少多少只小白鼠,可以找出有毒药水。
问题解决:
这个问题很经典,然而网上多是二进制转十进制思想。
我在这里尝试用一分为二的逻辑,测试出这瓶毒水来。
我在这里画个图,吨吨吨表示小白鼠喝下了药水。
药水1 | 药水2 | 药水3 | 药水4 | 药水5 | 药水6 | 药水7 | 药水8 | 药水9 | 药水10 | 药水11 | 药水12 | 药水13 | 药水14 | 药水15 | 药水16 | |
小白鼠1 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | ||||||||
小白鼠2 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | ||||||||
小白鼠3 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | ||||||||
小白鼠4 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 |
显然,只有喝了药水的小白鼠才有死的可能性。
因此,如果哪只小白鼠死了,它只能是因为吨吨吨了毒药水。
如果小白鼠没死,说明喝的药水没有毒,可以排除。
一只一只筛选。
直到锁定有毒的那一瓶。
四只小白鼠的死亡状态的那一列,对应了有毒的药水。