1. 老鼠试毒问题
问题1. 有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?
解决办法:
- 把1000化成二进制需要10位。
- 将瓶子的编号化成二进制,比如8号化成0000001000,15是0000001111。然后把老鼠排成一排,把1000瓶水逐瓶按照规则喂给它们中的某几个。规则如下:8号水瓶的水就只让第7只老鼠喝,其他老鼠不喝。15号水瓶的水就只让第7,8,9,10只老鼠喝。喝了无毒的水老鼠不会有任何事,假设是第15瓶水有毒,那么7天后,喝了第15瓶水的老鼠就会都死掉,没有喝的就不会死,所以可以根据死的老鼠是第7,8,9,10只,就能知道第15号水瓶是有毒的。
2. 灭灯泡问题
http://www.aoshu.com/e/20190625/5d12351e10c26_2.shtml