美文网首页
算法智力题-老鼠测验哪瓶是毒药

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

作者: 活出野性的自己 | 来源:发表于2018-11-05 16:00 被阅读0次
题目描述

给定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

相关文章

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

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

  • 老鼠试毒

    题目:有100瓶矿泉水,但是其中一瓶里面是有剧毒的,老鼠喝了有毒药的水一周后就会死亡,请问一周后要知道具体哪瓶水是...

  • 微软经典面试题之1000瓶子中一瓶毒药

    1000 个瓶子中有一瓶毒药,一只老鼠吃到毒药一周之内会死,如果要在一周之内检测出有毒药的一瓶,问至少需要几只老鼠...

  • 用10只老鼠找出1千瓶水中的1瓶毒药(附 JS 实现)

    条件:现在有1千瓶水,其中有1瓶是毒药。不能通过外观和气味等外在特征来区分毒药和水。老鼠吃了毒药或毒药和水的混合体...

  • 老鼠与毒药问题

    问题描述 有1000个一模一样的瓶子,其中999瓶中装的是普通的水,一瓶是毒药,水和毒药只能通过老鼠来分辨,喝下毒...

  • 老鼠吃药问题

    题目 1000 个瓶子中有一瓶毒药,一只老鼠吃到毒药一周之内会死,如果要在一周之内检测出有毒药的一瓶,问至少需要几...

  • 数据算法题目

    [单选题] 1000 个瓶子中有一瓶毒药,一只老鼠吃到毒药一周之内会死,如果要在一周之内检测出有毒药的一瓶,问至...

  • 考一考(三)

    智力题5(喝汽水问题) 1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:你有20元钱,最多可以喝到几瓶汽水? 智力题...

  • 关于1000个瓶子10只老鼠的算法问题

    问题 现有1000瓶药,其中有一瓶毒药,喝了之后1小时后才产生效果,现在你有10只老鼠和1个小时的时间,请问怎么找...

  • 2018-11-14

    昨天学习了模拟退火算法以及一个小智力题:海盗分赃~ 模拟退火算法前先看了爬山算法,爬山算法是一种简单的贪心搜索算法...

网友评论

      本文标题:算法智力题-老鼠测验哪瓶是毒药

      本文链接:https://www.haomeiwen.com/subject/onrsxqtx.html