小白鼠喝毒水问题(一分为二的思想)
问题描述:
有16瓶药水,其中一瓶有毒,一只小白鼠喝过之后,一天之后会死亡,要求一天后,至少多少只小白鼠,可以找出有毒药水。
问题解决:
这个问题很经典,然而网上多是二进制转十进制思想。
我在这里尝试用一分为二的逻辑,测试出这瓶毒水来。
我在这里画个图,吨吨吨表示小白鼠喝下了药水。
药水1 | 药水2 | 药水3 | 药水4 | 药水5 | 药水6 | 药水7 | 药水8 | 药水9 | 药水10 | 药水11 | 药水12 | 药水13 | 药水14 | 药水15 | 药水16 | |
小白鼠1 |
吨吨吨 |
吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | ||||||||
小白鼠2 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | ||||||||
小白鼠3 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | ||||||||
小白鼠4 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 | 吨吨吨 |
显然,只有喝了药水的小白鼠才有死的可能性。
因此,如果哪只小白鼠死了,它只能是因为吨吨吨了毒药水。
如果小白鼠没死,说明喝的药水没有毒,可以排除。
一只一只筛选。
直到锁定有毒的那一瓶。
四只小白鼠的死亡状态的那一列,对应了有毒的药水。
小白鼠喝毒水问题(一分为二的思想)相关推荐
- 小白鼠喝毒水的问题。
有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出哪瓶水有毒? 这是一道很经典的面试题目,先说解题方法吧,2^n >= 1000 ...
- 用小白鼠试验毒水问题
问题一:8瓶水,其中一瓶有毒,问要找出有毒的水,你至少要尝试几次?(前提是毒不死人的) 问题二:还是这个题目,另外提供一群小白鼠,现在要你同时给N只小白鼠喝水,问至少需要几只小白鼠能一次性找出毒水? ...
- 笔试加分题:有16瓶水,其中只有一瓶水有毒,小白鼠喝一滴之后一小时会死。请问最少用() 只小白鼠,在1小时内一定可以找出有毒的水?
原题: https://www.nowcoder.com/questionTerminal/a09c0eecbf684b0cba2ad0be32b7988e?orderByHotValue=1& ...
- 算法,16瓶水,有一瓶有毒,假设一只小白鼠喝一滴水,一个小时后会死亡,一个小时找出那瓶有毒的水至少需要几只小白鼠?
首先16瓶水,编号0000,0001-1110,1111.然后让第一只小白鼠喝最低位为1的水,第二只小白鼠喝次最低位为1的水,第三只小白鼠喝第三位为1的水,第四只小白鼠喝最高位为1的水.一个小时后看小 ...
- LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法
题目地址:Poor Pigs - LeetCode There are 1000 buckets, one and only one of them is poisonous, while the r ...
- 智力题------小白鼠试毒问题
问题描述 有1000瓶水,其中有1瓶是有毒的.小白鼠喝了有毒的水之后24个小时就会死亡,问最少需要多少只小白鼠进行实验,才能在24小时内检测出哪瓶水有毒? 问题分析 如果没有时间限制的话,我们只要让一 ...
- (小白鼠喝药问题)1000瓶药水,其中有一瓶是有毒的,如何找出有毒的药水?
问题描述 有 1000 瓶药水,但是其中有一瓶是有毒的,小白鼠只要喝了任意剂量的药水,24小时内就会死掉!请问,要在24小时内找出有毒的药水,最少需要多少只小白鼠? 解答 至少需要10只. 分析 1. ...
- 1000桶水,其中一桶有毒,猪喝毒水后会在15分钟内死去,想用一个小时找到这桶毒水,至少需要几头猪?具体该如何实现方法讲解
对于此问题,一个思路是通过对问题分解: 首先一个猪在一个小时内的状态可以分为5种: 一.0分钟喝水,15分钟死去 二.15分钟活着再喝水,30分钟死去 三.30分钟活着再喝水,45分钟死去 四.45分 ...
- 1000瓶毒药,小白鼠测毒问题
1000瓶药有1瓶有毒,如果小白鼠服用有毒的药,则24小时后死亡.现在需设计一种策略,使用尽可能少的小白鼠,在24小时内找出有毒的药. 如果用最普通的二分,第一只喝1-500,根据生存情况可以继续进行 ...
最新文章
- 网易云课堂解析_网易云课堂课程下载教程
- 深入理解JVM(一)编译openJDK
- Java项目出现的问题01----学习
- 前嗅ForeSpider教程:如何创建新任务
- 安全可靠国产系统下的应用怎么搭建?
- 【转】继承过程中 父类子类的 字段方法 内存分配 (非java语言)
- 第49课 大大大(纯小数变整数) 《小学生C++趣味编程》
- 与Win8之磁盘活动时间100%斗争心得
- Angular2 初识
- Python学习Day7
- java项目文档管理_基于jsp的文档管理系统-JavaEE实现文档管理系统 - java项目源码...
- 万字长文带你回顾Java集合框架
- 关于计算流体力学,你知道多少?
- linux中21个中级命令
- 洛谷----P3717 [AHOI2017初中组]cover
- 用C 制作含万年历的台历(2009年样张)之1
- 维生素C对免疫力有什么影响?
- 寻找复杂背景下的物体轮廓 (从禾路的博客园整理学习)
- 利用java统计每天用户升级手机App信息
- 中医是如何辩证出脾胃湿热的?
热门文章
- 关于LINUX系统netterm终端登陆乱码问题。
- ibm服务器有哪些型号,IBM服务器各个机型所对应ServerGuide引导光盘.doc
- java18(MySQL JDBC)
- 学生免费申请JetBrains许可
- RuntimeError: cuda runtime error (8) : invalid device function at /pytorch/torch/lib/THC/generic/THC
- KMS11激活Window系列
- 论文阅读笔记五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)
- 为什么你得不到 90 度的温暖
- 西北农林科技大学接口技术设计性实验一——8255并行接口实验
- 实时操作系统(RTOS)