查找有毒水

来源:互联网 发布:编程器 写芯片超时 编辑:程序博客网 时间:2024/04/28 05:01

题目:1000瓶水中有一瓶有毒,老鼠喝下有毒水后毒性一周后发作,一周内最少需要多少只老鼠能找出有毒的那瓶水

答案:最少需要10只。

思路:

将1000瓶水按照二进制从1编号到1000。这样最大数的二进制位数为10。用10只老鼠分别对应二进制的第0到第9位,每只老鼠喝下该二进制位为1的瓶子的水,如果该老鼠一周后死掉,就说明有毒瓶的该二进制位为1,否则说明为0。这样就能确定有毒瓶的二进制数。

原创粉丝点击