假设现在有15个一模一样的瓶子,其中有一个瓶子里面装有毒药,其它的瓶子里面装有水,毒药的颜色和水无法通过肉眼辨别。老鼠只要喝下任意量的毒药就会在24小时内死亡。现在的问题是如果要在24小时判断哪一个瓶子装的是有毒的毒药,最少需要多少只老鼠?
     题解:我们首先对这15个瓶子依次编号为 1 − > 15 1->15 1−>15并求其对应的二进制表示:

  • 1: 0001 0001 0001
  • 2: 0010 0010 0010
  • 3: 0011 0011 0011
  • 4: 0100 0100 0100
  • 5: 0101 0101 0101
  • 6: 0110 0110 0110
  • 7: 0111 0111 0111
  • 8: 1000 1000 1000
  • 9: 1001 1001 1001
  • 10: 1010 1010 1010
  • 11: 1011 1011 1011
  • 12: 1100 1100 1100
  • 13: 1101 1101 1101
  • 14: 1110 1110 1110
  • 15: 1111 1111 1111

这里可以看出4位的二进制数足以表示这15个数,然后我们就选4只老鼠,给第一只老鼠吃二进制编号中第一个二进制位为1的瓶子的毒药,给第二只老鼠吃二进制编号中第二个二进制位为1的瓶子的毒药,给第三只老鼠吃二进制编号中第三个二进制位为1的瓶子的毒药,给第四只老鼠吃二进制编号中第四个二进制位为1的瓶子的毒药。(二进制编号从低位开始且从1开始编号)。按照如上规划每只老鼠对应的瓶子为:

  1. 1、3、5、7、9、11、13、15
  2. 2、3、6、7、10、11、14、15
  3. 4、5、6、7、12、13、14、15
  4. 8、9、10、11、12、13、14、15

如果那只老鼠死了则有毒的瓶子的二进制编号的该二进制位为1,否则为0。这样我们就求出了有毒的瓶子的编号。这里的情况可以很容易的扩展到多个瓶子的情况,以此类推即可。

面试题:老鼠毒药问题相关推荐

  1. 老鼠毒药问题、犯人问题

    1.有100瓶液体.其中有99瓶是水,一瓶是毒药,在外表上外表上完全一样.问至少需要多少只老鼠可以确定哪一瓶是毒药? 答案:需要7只. 解释:将一百瓶水编号.将编号转化为二进制. 例如: 第1瓶    ...

  2. 二进制老鼠毒药c语言,老鼠试药  二进制问题

    简化一下:如果只有8瓶,至少需要几只老鼠??? 药水瓶编号是000 001 010 011 100 101 110 111, 三位二进制w1.w2.w3 三只老鼠是c1.c2.c3, 老鼠c1.c2. ...

  3. 二进制老鼠毒药c语言,趣味算法:老鼠试毒瓶问题

    大家应该都听说过这个老题目:有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药.任何喝下毒药的生物都会在一星期之后死亡.现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪 ...

  4. 【LeetCode系列】最长回文子串(双指针中心扩散)与可怜的小猪(老鼠毒药问题)

    ⭐️前面的话⭐️ 本篇文章介绍来自牛客试题广场的两道题题解,分别为[最长回文子串]和[可怜的小猪],展示语言java.

  5. 赛马问题,毒药问题,倒水问题等智力题

    赛马问题 64匹马8个跑道(不计时),问最少要比多少次,才能知道最快的4匹马 首先要赛8+1场,得到上表中的相对顺序 A1>A2>->A8 B1>B2>->B8 - ...

  6. [转]香农信息论与毒药称球问题

    原文链接 如果从'信息'的角度来分析某些问题,可以使你更登高望远,对问题能有更深层的理解,更容易融合各学科的间隙,达到借他山之石而攻玉的效果. 作者:张天蓉 老鼠检测毒药瓶 我出过一道有关用老鼠检测毒 ...

  7. 老鼠和毒药(面试题)

    问题: 有 1000 瓶药物,但是其中有一瓶是有毒的,小白鼠吃了一个星期以后就会死掉!请问,在一个星期内找出有毒的药物,最少需要多少只小白鼠? 答案 最少需要10只小白鼠 解题思路 答:因为1000的 ...

  8. 经典面试题【老鼠喝水】

    经典面试题[老鼠喝水] 面试题库[老鼠喝水] 文章目录 经典面试题[老鼠喝水] 一.常见题目 二.详细思路 1.转换思维 2.转换为熟悉的二进制 三.相似的题型 1.解题思路 2.转换为熟悉的二进制 ...

  9. 2021-08-27 思考:1000瓶药水,1瓶有毒,老鼠毒发24h,如何用最少的老鼠在24h内找出毒药?

    题目: 现在有1000瓶药水,其中一瓶有毒,一只老鼠喝了在24h后会准时死亡,药水无色无味,如何用最少的老鼠在24h内找出毒药? 分析: 时间限制为24h,说明我们只有一次喂老鼠的机会,需要一波找出来 ...

最新文章

  1. 十大经典排序算法动画与解析,看我就够了
  2. Heritrix源码分析(六) Heritrix的文件结构分析
  3. pcb天线和纯铜天线_一种2.4GHz水平极化全向天线设计
  4. 电脑安装python步骤-windows10系统安装python的详细步骤
  5. 【Java】14 JDBC编程学习总结
  6. centos 对某ip开放 防火墙端口_CentOS防火墙iptables限制端口和来源IP地址访问的配置...
  7. 2018 ACM-ICPC World Finals - Beijing
  8. php 判断浏览器是ie,js判断是否是ie浏览器
  9. poi 顺序解析word_JavaPOI解析word提取数据到excel
  10. 【超简单已实现】CSDN实现点击跳转到指定段落
  11. 为什么ConcurrentHashMap没有ConcurrentHashSet
  12. SPOJ Can you answer the Queries系列
  13. 摩拜开锁系统是用什么服务器,摩拜昨晨现“开锁难” 市民:系统需更稳定
  14. web程序设计基础——学习通选择判断复习(1)
  15. BF-5R对讲机改频
  16. cas22112-84-1/5,10,15,20-四(4-氨基苯)-21H,23H-卟啉简称:H2TAPP; Tph
  17. 一种经典的客户关系管理系统(CRM)订单模型的设计与实现
  18. Arcgis js api 点聚合
  19. C#,彩票数学——彩票预测是玄学还是数学?什么是彩票分析?怎么实现彩票号码的预测?
  20. 2021.8.14【提高B组模拟6】T3 + P7527 [USACO21OPEN] United Cows of Farmer John (树状数组)

热门文章

  1. 用计算机弹梦想天空分外蓝,梦想天空分外蓝作文
  2. 用html写一个QQ空间登录页面
  3. lol1月24服务器维护,LOL测试服1月24日:蔚技能全面调整 刀妹再次削弱
  4. windows10序列号
  5. linux git管理工具,分享|三款 Linux 下的 Git 图形客户端
  6. python中multiply函数_python中numpy中的multiply、*、matul 的区别
  7. 超级网管员——网络管理
  8. 实时查询与检测域名是否被微信封杀的核心代码和原理
  9. potplay播放突然变得模糊
  10. BurpSuite如何在各浏览器下配置代理