面试题:老鼠毒药问题
假设现在有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、3、5、7、9、11、13、15
- 2、3、6、7、10、11、14、15
- 4、5、6、7、12、13、14、15
- 8、9、10、11、12、13、14、15
如果那只老鼠死了则有毒的瓶子的二进制编号的该二进制位为1,否则为0。这样我们就求出了有毒的瓶子的编号。这里的情况可以很容易的扩展到多个瓶子的情况,以此类推即可。
面试题:老鼠毒药问题相关推荐
- 老鼠毒药问题、犯人问题
1.有100瓶液体.其中有99瓶是水,一瓶是毒药,在外表上外表上完全一样.问至少需要多少只老鼠可以确定哪一瓶是毒药? 答案:需要7只. 解释:将一百瓶水编号.将编号转化为二进制. 例如: 第1瓶 ...
- 二进制老鼠毒药c语言,老鼠试药 二进制问题
简化一下:如果只有8瓶,至少需要几只老鼠??? 药水瓶编号是000 001 010 011 100 101 110 111, 三位二进制w1.w2.w3 三只老鼠是c1.c2.c3, 老鼠c1.c2. ...
- 二进制老鼠毒药c语言,趣味算法:老鼠试毒瓶问题
大家应该都听说过这个老题目:有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药.任何喝下毒药的生物都会在一星期之后死亡.现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪 ...
- 【LeetCode系列】最长回文子串(双指针中心扩散)与可怜的小猪(老鼠毒药问题)
⭐️前面的话⭐️ 本篇文章介绍来自牛客试题广场的两道题题解,分别为[最长回文子串]和[可怜的小猪],展示语言java.
- 赛马问题,毒药问题,倒水问题等智力题
赛马问题 64匹马8个跑道(不计时),问最少要比多少次,才能知道最快的4匹马 首先要赛8+1场,得到上表中的相对顺序 A1>A2>->A8 B1>B2>->B8 - ...
- [转]香农信息论与毒药称球问题
原文链接 如果从'信息'的角度来分析某些问题,可以使你更登高望远,对问题能有更深层的理解,更容易融合各学科的间隙,达到借他山之石而攻玉的效果. 作者:张天蓉 老鼠检测毒药瓶 我出过一道有关用老鼠检测毒 ...
- 老鼠和毒药(面试题)
问题: 有 1000 瓶药物,但是其中有一瓶是有毒的,小白鼠吃了一个星期以后就会死掉!请问,在一个星期内找出有毒的药物,最少需要多少只小白鼠? 答案 最少需要10只小白鼠 解题思路 答:因为1000的 ...
- 经典面试题【老鼠喝水】
经典面试题[老鼠喝水] 面试题库[老鼠喝水] 文章目录 经典面试题[老鼠喝水] 一.常见题目 二.详细思路 1.转换思维 2.转换为熟悉的二进制 三.相似的题型 1.解题思路 2.转换为熟悉的二进制 ...
- 2021-08-27 思考:1000瓶药水,1瓶有毒,老鼠毒发24h,如何用最少的老鼠在24h内找出毒药?
题目: 现在有1000瓶药水,其中一瓶有毒,一只老鼠喝了在24h后会准时死亡,药水无色无味,如何用最少的老鼠在24h内找出毒药? 分析: 时间限制为24h,说明我们只有一次喂老鼠的机会,需要一波找出来 ...
最新文章
- 十大经典排序算法动画与解析,看我就够了
- Heritrix源码分析(六) Heritrix的文件结构分析
- pcb天线和纯铜天线_一种2.4GHz水平极化全向天线设计
- 电脑安装python步骤-windows10系统安装python的详细步骤
- 【Java】14 JDBC编程学习总结
- centos 对某ip开放 防火墙端口_CentOS防火墙iptables限制端口和来源IP地址访问的配置...
- 2018 ACM-ICPC World Finals - Beijing
- php 判断浏览器是ie,js判断是否是ie浏览器
- poi 顺序解析word_JavaPOI解析word提取数据到excel
- 【超简单已实现】CSDN实现点击跳转到指定段落
- 为什么ConcurrentHashMap没有ConcurrentHashSet
- SPOJ Can you answer the Queries系列
- 摩拜开锁系统是用什么服务器,摩拜昨晨现“开锁难” 市民:系统需更稳定
- web程序设计基础——学习通选择判断复习(1)
- BF-5R对讲机改频
- cas22112-84-1/5,10,15,20-四(4-氨基苯)-21H,23H-卟啉简称:H2TAPP; Tph
- 一种经典的客户关系管理系统(CRM)订单模型的设计与实现
- Arcgis js api 点聚合
- C#,彩票数学——彩票预测是玄学还是数学?什么是彩票分析?怎么实现彩票号码的预测?
- 2021.8.14【提高B组模拟6】T3 + P7527 [USACO21OPEN] United Cows of Farmer John (树状数组)