算法智力题-老鼠测验哪瓶是毒药

题目描述

给定99瓶水和1瓶毒药,假定老鼠喝完毒药要一周后才发作,问在一周后要确定哪瓶是毒药,至少需要多少只老鼠

题目解析
  1. 方法一
    首先暴力破解来一波,99只老鼠,每只老鼠喝一瓶就知道结果了,这肯定是不符合要求的
  2. 方法二
  • 暴力破解不行,说明一只老鼠不可能只喝一瓶,每只老鼠要喝多瓶;按照之前的基础,采用二进制来解决
  • 7位二进制能表示的范围0-127,够100瓶了,7位二进制用来干嘛,当然是用来对瓶子编号了,0000001,0000010,...,1100100(1-100), 至于为什么从1开始编号,这和后面如何喝药有关
  • 选几只老鼠,答案显而易见了:7只。怎么喝,7只对7位,这个需要多思考下,每只老鼠喝某一位为1的所有水,比如第一只老鼠喝第一位为1的所有水,第二只老鼠喝第二位为1的所有水,依次类推,一周后等待结果。
  • 最后,一周后怎么判断哪瓶是毒药,需要根据老鼠的存活情况来看。看7只老鼠哪些死了,死了的说明一定是喝了毒药的,也就是毒药瓶子的编号在相应死了的老鼠对应的位上一定是1,不然死了的老鼠是喝不上毒药的
    比如1,3,7只老鼠死了,则毒药瓶的编号为:2^0+ 2^2 + 2^6=69
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 刚来武汉真的很不适应,不适应这里的油,这里的辣,这里的纸碗,这里的一次性筷子 现在爱上了这里的热干面,喜欢这里的原...
    斯文李校长阅读 196评论 0 0
  • 约饭 约雪 谁来
    Suit_mob阅读 127评论 0 0
  • 今天中午,收到紫雨老师发来的微信,问我:“你教养孩子的心态对吗?你平日里是怀着长远心还是功利心呀?”还推荐了一篇文...
    车容坊阅读 248评论 0 3
  • 7组:袁伶 坐标:北京 三个标签:1.室内全案设计师 2.大男孩妈妈 3. 时间管...
    袁伶阅读 231评论 0 0