原题:

https://www.nowcoder.com/questionTerminal/a09c0eecbf684b0cba2ad0be32b7988e?orderByHotValue=1&done=0&pos=126&mutiTagIds=602&onlyReference=false

今天遇到一个很有意思的问题:

有16瓶水,其中只有一瓶水有毒,小白鼠喝一滴之后一小时会死。请问最少用() 只小白鼠,在1小时内一定找出有毒的药水。

A .1                B .3                   C .4                   D .16

刚开始自己想,采用2分原则的想法,先把瓶子编号,拿出1到8号的瓶子混合,给老鼠喝,如果有毒,那就是这8瓶里面的药水,然后这8瓶里面的药水又分成2分,每份4瓶,那其中的4瓶混合,给老鼠喝,如果有毒,那就是这4瓶内,重复,知道最后一瓶,最多需要4次,既可以查出那瓶药水有毒,但是!!我没有注意一个小时以内,相当于,你直接拿几只老鼠,给他们同时喝药水,根据老鼠最后的情况,直接判断情况了。

然后查看了其他人的想法,我在原有的基础上,修改了一下方法,就可以找出来了。

先给药水分好 D1~D16,每个老鼠都是喝8瓶混合的。如下图,有下划线的,就是老鼠喝药水所在组的标号

老鼠1喝:D1  D2  D3  D4   D5  D6  D7  D8       (1111111100000000)

老鼠2喝:D1  D2  D3  D4   D9 D10 D11 D12    (1111000011110000)

老鼠3喝:D1  D2  D5  D6   D9  D10 D13 D14   (1100110011001100)

老鼠4喝:D1  D3  D5  D7   D9  D11  D13  D15  (1010101010101010)

比如老鼠1,2,3,4都死了,那就是D1有毒,因为D1大家都喝了,

比如老鼠1,2,3死了,老鼠4没死,那就是D2有毒;

比如老鼠1,2,4死了,老鼠3没死,那就是D3有毒,以此类推。。。。。2的4次方,那就是刚好16中情况。

这个情况有没有像我们的二进制??哈哈。那一个老鼠没死,那就这组二进制取反,再跟其他老鼠的&,最后得出1的位置就是有毒瓶子的药水。

笔试加分题:有16瓶水,其中只有一瓶水有毒,小白鼠喝一滴之后一小时会死。请问最少用() 只小白鼠,在1小时内一定可以找出有毒的水?相关推荐

  1. 15瓶可乐,其中有一瓶过期了,找出有毒的可乐的问题

    有15瓶可乐,其中只有一瓶过期了,小白鼠喝之后两个小时会死. 请问最少用多少只小白鼠,在2小时内一定可以找出有毒的可乐? 答案:2的4次方大于15,故使用4只小白鼠就可以测出来. 解析:15瓶汽水从0 ...

  2. 1000瓶水其中有一瓶水有毒,有10只老鼠并且只要老鼠喝了有毒的水必死。请问怎样通过一次实验找出有毒的那瓶水。

    1000瓶水其中有一瓶水有毒,有10只老鼠并且只要老鼠喝了有毒的水必死.请问怎样通过一次实验找出有毒的那瓶水. . 这道题知识点:二进制. 解题思路:2的10次方等于1024,1024以内的所有自然数 ...

  3. 面试题:1000瓶水其中有一瓶水有毒,有10只老鼠并且只要老鼠喝了有毒的水必死。请问怎样通过一次实验找出有毒的那瓶水。

    面试题:1000瓶水其中有一瓶水有毒,有10只老鼠并且只要老鼠喝了有毒的水必死.请问怎样通过一次实验找出有毒的那瓶水. 1.  知识点:二进制. 解题思路:此题考察的是二进制.2的10次方等于1024 ...

  4. (小白鼠喝药问题)1000瓶药水,其中有一瓶是有毒的,如何找出有毒的药水?

    问题描述 有 1000 瓶药水,但是其中有一瓶是有毒的,小白鼠只要喝了任意剂量的药水,24小时内就会死掉!请问,要在24小时内找出有毒的药水,最少需要多少只小白鼠? 解答 至少需要10只. 分析 1. ...

  5. 1000瓶水有1瓶水有毒,老鼠喝一滴就会死,但是需要一周毒发,请问最少需要多少老鼠多少时间才能找到那瓶有毒的水。

    1000瓶水有1瓶水有毒,老鼠喝一滴就会死,但是需要一周毒发,请问最少需要多少老鼠多少时间才能找到那瓶有毒的水. 这个题是对bit位的应用,1000接近1024,所以对1000瓶水编号需要10个bit ...

  6. 很有趣的一道题:找出有毒的瓶子

    问题描述: 有1000个瓶子,其中有1个装的液体是有毒的,其余的999个装的是无毒的,有10只小白鼠用来测试,请找出装有毒的液体的瓶子. 解法1:二分查找 因为小白鼠测试的结果只有存活与死亡两种结果, ...

  7. 8个试剂,其中一个有毒,最少多少只小白鼠能检测出有毒试剂——分而治之思想...

    面试题:8个试剂,其中一个有毒,最少多少只小白鼠能检测出有毒试剂 方法1: 用3只小鼠,能组合成8种状态. 第一只喂食[1.3.5.7]四只试剂 第二只喂食[2.3.6.7]四只试剂 第三只喂食[4. ...

  8. 【智力题】有 1000 瓶药物,但是其中有一瓶是有毒的,小白鼠吃了一个星期以后就会死掉!请问,在一个星期内找出有毒的 药物,最少需要多少只小白鼠?

    答案是10只 本题采用了二进制的思想 小白鼠的生与死可以看作二进制的0和1. 用10只小白鼠,也就是10个二进制位,最多可以表示1024个数. 编号环节 先给药水从001到1000编号,每个药水编号转 ...

  9. 有 1000 瓶药物,但是其中有一瓶是有毒的,老鼠只要服用任意量有毒药水就会在一个星期内死掉!请问,在一个星期后找出有毒的药物,最少需要多少只小白鼠?

    在程序员面试的时候面试官有时会考我们一些计算机编程方面的智力题,这便是一道有趣的智力题,这道题考察了我们对bit位的灵活运用. 首先1000与1024相差无几,于是我们可以用10个bit位来对这100 ...

最新文章

  1. linux kvm虚拟化命令,Linux系统下kvm虚拟化(三)日常管理常用命令和配置说明
  2. 【全网之最】JavaScript中字符串以特定字符分隔开之后,获取最后一个分割出来的字符串,多用于获取文件的后缀名(格式)
  3. python百度语音实时识别成文字_python 语音合成
  4. python zipfile_Python 学习入门(16)—— zipfile
  5. 无锡易保Java面试笔试_易保面试题 - willim - BlogJava
  6. HDD与OS的江湖恩怨
  7. leetcode 475. Heaters | 475. 供暖器(找最后一个不大于target的值/第一个不小于target的值)
  8. Android左右声道控制软件,Android左右声道的控制
  9. TQ210 —— S5PV210 gboot设计
  10. mysql-connector-mysql 8.0 (spring-boot-starter-parent 管理的版本) + Activiti 6.x 自动建表失败
  11. win7系统和银行驱动安装
  12. 2022全新彩虹商城知识付费模板源码+修复改良版
  13. 程序员做技术管理需要懂哪些方面?
  14. 在weblogic下部署找不到授权文件的解决方法
  15. 虚幻引擎4的实时渲染流程(直播总结)
  16. 2345恶意篡改修复
  17. 杂项多彩_40美丽多彩的博客设计
  18. 用无参的方式new对象
  19. 浪潮5280m4导轨安装_NF5280M4 – 导轨安装
  20. 你的过去我来不及参与,你的未来我奉陪到底

热门文章

  1. Photoshop CS6最新官方正式中文破解版(32位、64位)
  2. 0x03数据类型和变量
  3. 小白算法学习 凸包 graham
  4. python DataFrame isin() 与 ~isin()
  5. EPUB和PDF的区别,有什么好用的epub阅读器
  6. 查看 Linux 进程 巧用ps|grep命令
  7. FFplay文档解读-7-比特流过滤器
  8. win10系统重装(无需u盘)(无需下载第三方软件)(绝对纯净版)(全网最简)
  9. cocoapods was not able to update the 'master' repo.if it is a unexpected issue and persists you can
  10. WIN API编程的详细介绍