一道有趣的智力题 -- 小强试毒实验

IBM智力题 1. 两位妇人分别拿着4斤的奶瓶和5斤的奶瓶去奶店各买2斤奶;   适逢店的称坏了,这时店里只有两大满奶桶,但店老板却成   功地凭借现有的条件满足了两位妇人的要求。你知道店老板   是如何满足两位妇人要求的吗? 2. 数字智力测试题:     小明和小强都是王老师的学生。王老师的生日是m月n日,2人都指导王老师的生日是下列10组中的一天,王老师把m值告诉了小明,把n值告诉了小强。王老师文 阅读详情
Last Modified : 2007-07-24-14:00

同学在 BBS 看到的题,挺有趣的,还好我没花多少时间就想出来了。

有1000瓶水,其中有一瓶有剧毒(假设哪怕一个毒药分子在里面也能致命),现在给你10只
小强在24小时内通过小强试药的方式鉴定出来哪瓶药有毒。
情况1:假设小强服药后2小时内即可判断是否中毒,鉴别方案有哪些?
情况2:假设小强服药之后最迟要20小时才能判断是否中毒,鉴别方案又是什么?

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

情况1:
很简单,用二分法就可以了。让一只小强喝500瓶水,2小时后,
① 小强死了说明毒药在这500瓶中,让另一只小强喝其中250瓶,依此类推..
② 否则在另外500瓶,让小强喝这另外500瓶的其中250瓶..
2 10  = 1024 > 1000
2  * 10  =  20  <  24
因此可以保证在规定时间内鉴别出来哪瓶药有毒。
不过我想的方法是每次都把所有活小强来试药,就是 10  分, 9 分,…… 法。会更加早完成鉴别。

情况2:

对于每一瓶药水,每一只小强可以喝它,也可以不喝( 由实验者决定)。如果不喝用 0 表示, 喝用 1 表示,而且给小强从 0 开始编号,那么每一瓶药水对应一个二进制数字( 注意:小编号对应该数字的右边,如图所示,小强喝掉连线的药水),而且各不相同( 否则,如果某两瓶的数字相同,即所有小强要么同时喝两瓶,要么两瓶都不喝,那么如果其中一瓶有毒,就鉴别不出来了),将这个数字作为该瓶药水的编号。20 小时后,该死的小强都死了,根据它们的生死情况,生用 0 表示,死用 1 表示,那么所有小强的生死情况对应一个二进制数字,也就是有毒的那瓶药水的编号了。如下图,3 只小强,8 瓶药水, 最后的生死情况假设是“死死生”,那么对应数字是 110 ,也就是说 6 号药水有毒。( 这是因为 “6 号药水的二进制数字是 110,即 2 号小强喝了 , 1 号小强喝了, 0 号小强没喝。” ⇔ “最后生死情况是: 2 号小强死, 1 号小强死, 0 号小强生。”)

小强试读实验

从图中容易得出规律, 第 i 只小强从第 2 i 瓶药水开始,连续喝 2 i 瓶,然后连续不喝 2 i 瓶,依次类推。
其实首先可以乱序地给药水和小强分别编号(号码从 0 开始),然后根据上面的规律操作。最后根据生死情况来判断毒药的编号。

举例如下:
假如有 4 瓶药,编号是 0, 1, 2, 3。
有两只小强,编号是 0, 1。
用第 0 只小强来试第 1 ,3 瓶药,用第 1 只小强来试第 2, 3 瓶药。
如果只有第 0 只小强死,那么第 1 瓶药有毒;如果只有第 1 只小强死,那么第 2 瓶药有毒;如果两只都死,那么第 3 瓶有毒; 如果两只都没死,那么第 0 瓶有毒。

也可以知道, n 只小强最多能够鉴别出 2 n 瓶药水中的一瓶毒药,而且如果刚好有2 n   瓶药水,那么每只小强就要喝 2 n - 1 瓶药水。

有兴趣来亲自做一下这个实验吧^_^

补充:
这道题和下面地址的题有异曲同工之妙,二进制的精髓之所在,哈哈。。
TopCoder 每周一赛的一道题 -- 概率计算(解题报告)

智力题4    有一道问题:小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日 小明说:如果我不知道的话,小强肯定也不知道小强说:本来我也 阅读详情

相关推荐

用Linkboy玩转Arduino:3小时搞定智能倒车雷达(附仿真文件下载)

本文详细介绍了如何利用Linkboy图形化编程工具,在3小时内快速搭建一个基于Arduino的智能倒车雷达项目。通过仿真环境,初学者无需硬件即可学习超声波测距原理、报警逻辑设计,并完成从虚拟仿真到实体硬件的完整流程。文章提供了清晰的步骤、调试技巧及功能扩展思路,并附有仿真文件,是入门Arduino和智能硬件制作的绝佳实践指南。

weixin_29159441的博客 403

【逻辑】500桶酒,其中1桶是毒酒,找毒酒

题目500桶酒,其中1桶是毒酒;48小时后要举行酒会;毒酒喝下去会在之后的第23-24小时内毒死人;国王决定用囚犯来试酒,不介意囚犯死多少,只要求用最少的囚犯来测试出哪一桶是毒酒,问需要最少需要多少囚犯才能保证找出毒酒?思路一需要9个人 将500桶毒酒进行编号,并用二进制表示.得到000000000~111110100. 每个囚犯对应二进制的每一位,然后喝下对应位数为1的那个编号的毒酒 然后根

真红酱の小窝 1万+

将pytorch的权值矩阵量化为定点数补码并导入FPGA中

Xilinx FPGA实现LSTM算法时对ROM的初始化 将pytorch框架的权重矩阵以定点数补码的形式导入到FPGA中 文章目录Xilinx FPGA实现LSTM算法时对ROM的初始化1. pytorch框架中的LSTM2. 初始化一个RNN模型 3. 初始化ROM的coe文件格式 4. 将参数转换为补码,并且输出到coe文件 5. 配置一个ROM 6. 结论7. 代码 1. pytorch框架中的LSTM pytorch框架将LSTM算法中的八个权值矩阵连接成两个矩阵,假设要导入的LSTM网络的输

随缘分享 4528

面试智力题,1000瓶水,其中一瓶有毒,而且毒性无敌,稀释一亿倍毒性都不减,毒性的发作时间最长为1小时,请问怎样可以用10只小鼠在两个小时之内找出哪瓶水有毒

面试遇到的一道智力题 1000瓶水,其中一瓶有毒,而且毒性无敌,稀释一亿倍毒性都不减,毒性的发作时间最长为1小时,其中可能会在一小时内的任意时刻发作,但是最长时间是一小时,请问怎样可以在两个小时之内找出哪瓶水有毒。 解法1、 当时我的想法是二分法,1000瓶水先分成两份,一份500瓶,然后左右两个一半的500瓶水中每瓶取一滴混合起来喂给 一只老鼠,如果左边的老鼠死了,就说明左边500瓶水中有一瓶是有毒的,反之,就是右边500瓶,然后再对其中500瓶水继续分成两半混合。如此下去,由于2^10 = 1024,也

qq_44971458的博客 3万+

STM32 RT-Thread 系统分析(1)- 启动文件

RT-Thread STM32 系统分析(1)- 启动文件前言基本信息前言说明三级目录 前言 基本信息 名称 描述说明 RT-Thread Studio 软件版本 版本: 1.1.3 RT-Thread 系统版本 4.0.2 STM32CubeIDE 软件版本 1.4.0 STM32芯片型号 STM32F013VG 前言说明 使用了STM32CubeIDE 和 RT-Thread Studio 建立了相同型号芯片的工程,对比其中启动文件内容差异如下: 左侧是RT-Threa

鸳鸯冰笔的博客 4096

STM32-DAC定时器触发三角波生成【频率与幅度精准控制】

本文详细介绍了STM32 DAC定时器触发三角波生成的原理与实现方法,涵盖硬件配置、频率与幅度精准控制技巧及代码实现。通过定时器触发DAC模块,可灵活调节三角波的频率和幅度,适用于信号发生器等高精度应用场景。

weixin_29161785的博客 453

二分解决瓶中毒药问题

这是一道微软面试题 题目: 分析: 假设不管毒药和水混合,不管毒药浓度为多少,小鼠喝过就会死。 现进行这样的实验(原理二分法):1000瓶水,先将前500的混合,让一只小鼠喝。 如果死亡,则前500有毒药,后500瓶直接排除;若不死亡,则后500瓶有毒药。 最后二分结束的条件是begin = end 这是直接输出begin即毒药的标签号。 问题的时间复杂度O(nlogn), 空间复杂度O(1)。 解答: #include <iostream> #include <vector> u

qq_44684286的博客 1017

蓝牙学习笔记之SMP协议(十四)

目录 写在前面 SM规范简述 安全管理器 加密工具 配对流程 安全属性 IO功能 加密密钥大小 配对算法 低功耗蓝牙安全 密钥和值的定义 分发密钥的生成 密钥分配 安全管理器会话协议 介绍 ​​​​​​​命令格式 写在前面 安全规范协议,主要是描述LE控制器设备配对、认证、加密等过程进行规定,同时也对相关算法进行了说明。 低功耗蓝牙的安全管理经历了几个阶段,L...

在云巅的博客 3662

1000瓶无色无味的药水,其中有一瓶毒药,10只小白鼠拿过来做实验。喝了无毒的药水第二天没事儿,喝了有毒的药水后第二天会死亡。如何在一天之内(第二天)找出这瓶有毒的药水?

题目:1000 瓶无色无味的药水,其中有一瓶毒药,10只小白鼠拿过来做实验。喝了无毒的药水第二天没事儿,喝了有毒的药水后第二天会死亡。如何在一天之内(第二天)找出这瓶有毒的药水? 第一次看这个问题完全没思路,应该有很巧妙的解法吧,后来还是百度一下,才明白怎么回事。 思路就是用二进制,2^10=1024,也就是10只小白鼠最多能验出1024瓶药水,哪个有毒。小白鼠编号,1-10。瓶子也编号,1-...

IT界的一只菜鸟 2万+

华为ensp、思科eve、华为ensp pro中通过cloud桥接本地网络和联通互联网的方法

华为ensp、思科eve中通过cloud桥接本地网络和联通互联网的方法

suofen9703的博客 417

YOLO26涨点改进 | 小目标损失函数独家改进篇 | TGRS 2025 | 引入AdaFocalLoss损失函数,改进小目标检测,自适应聚焦小目标与样本分布不平衡,提升检测精度与训练稳定性

目录一、前言:YOLO26原生损失函数在小目标检测中的核心痛点(涨点瓶颈)1.1 小目标权重不足,聚焦能力薄弱1.2 样本分布不平衡适配性差,正负样本权重失衡1.3 训练不稳定,易出现梯度消失/震荡1.4 未区分小目标与背景的冗余干扰,误检率高二、TGRS 2025顶刊灵感解析:自适应聚焦损失的核心逻辑三、全网独家创新:AdaFocalLoss损失函数设计与YOLO26适配(核心重点,可复现)3.1 AdaFocalLoss函数整体设计(独家设计,清晰可复现)3.2 各核心模块详细设计(独家创新,可直接复现

qq_36130719的博客 202

[面试题]1000瓶毒药里面只有1瓶是有毒的,问需要多少只老鼠才能试出那瓶有毒。

题目:1000瓶毒药里面只有1瓶是有毒的,毒发时间为24个小时,问需要多少只老鼠才能在24小时后试出那瓶有毒。 思路:这题试Bloom Fliter 算法。详情可以参考:https://blog.youkuaiyun.com/jiaomeng/article/details/1495500 这题和我之前看到的一道题有点像。题为, 有1000个苹果,分别装在10个...

Esy_Hong 5万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【每日一道智力题】之坤坤猜生日(面试高频)

快来帮助坤坤猜生日

睿的博客 3239

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

关于一道“智力题”的探讨

【原题出处】 http://topic.youkuaiyun.com/u/20111114/00/7d943d10-9e4f-43c7-95dd-3bc5c18850e7.html 【题目原文】 小明和小强都是张老师的学生,张老师的生日是某月某日,2人都不知道张老师的生日。 但张老师告诉他们他的生日是下列10组中的某一天: 3月4日 3月5日 3月8日 4日6月 6月7日 9月1日

quanben 1832

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

一道智力题,有兴趣者请入

刚刚在网上看到的。有兴趣者请尝试下。小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,但不知道确切的日期。张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?       3月4日  3月5日 3月8日       6月4日  6月7日       9月1日  9月5日       12月1日  12月2日 12月8日  

温陵布衣的专栏 1041

小强和小明猜生日(20min)

今天碰到一道有点意思的智力题,想通了其实:

云游code的博客 8761

有趣的一些智力题

 假设一个月能看到的流星的概率为91%,问半个月看到的流星的概率是多少????有的说的91%,有的则说是70%,70%的是:每天晚上出来流星出来的概率为x则一个月不出来流星的概率为(1-x)^30=1-0.91=0.09半个月不出来流星的概率为(1-x)^15=(1-x)^30^0.5=0.3半个月看得到流星的概率为70%你有10桶金币,有一桶金币全是假的,而且比正常的轻100克/每个,正常的金币

xueyong4712816的专栏 995

【智力题】猜生日

题目如下: 小明和小强都是张老师的学生,张老师的生日是M月N日,2人都不知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗? 3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日 小明说:如果我不知道的话,小强肯定也不知道 小强

不务正业的野猴子 1331

运用排除法来解析一道经典的智力题

首先题目描述如下: 张老师的生日是以下10天中一天: 3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日 张老师把月份告诉了小明,把日子告诉了小强,张老师问他们知道他的生日是那一天吗?小明说:如果我不知道的话,小强肯定也不知道。小强说:本来我也不知道,但是现在我知道了。小明说:哦,那我也知道了。请根据以上对话推断出张老师...

weixin_34021089的博客 158

小明和小强都是张老师的学生

小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是 下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道 他的生日是哪一天 3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日12月1日 12月2日 12月8日 小明说:如果我不知道的话,小强肯定也不知道 小强说:本来我也不知道,但是现在我知道了 小明说:哦,那我也知道了 ...

weixin_30631587的博客 226

关于一道“智力题”的探讨(续)

【原讨论】http://blog.youkuaiyun.com/quanben/article/details/6990366 【题目出处】http://topic.youkuaiyun.com/u/20111114/00/7d943d10-9e4f-43c7-95dd-3bc5c18850e7.html 【题目原文】 小明和小强都是张老师的学生,张老师的生日是某月某日,2人都不知道张老师的生日。 但张老师

quanben 1230

经典的智力题

小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?3月4日 3月5日 3月8日6月4日 6月7日9月1日 9月5日12月1日 12月2日 12月8日小明说:如果我不知道的话,小强肯定也不知道小强说:本来我也不知道,但是现在我知道了小明说:哦,那我也知道了请根据以上对话推断出张

自由自在'blog 2960

月薪三万的一道题

小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日     是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?      3月4日 3月5日 3月8日      6月4日 6月7日      9月1日 9月5日      12月1日 12月2日 12月8日      小明说:如果我不知道的话,小强肯定也不...

86

面试的两道智力题

2014年2月12日  今天小巫去了一家公司面试,先不说面试的情况,我只是祭奠一下我花了40分钟分钟没做出来的两道智力题,应该第一道题,不管找什么原因,眼困也好还是天气冷也好,没做出来就没做出来,说明自己在逻辑这方面还比较欠缺。 题目一: 5个小姐站成一列 他们的姓不同 衣服颜色不同 和不同的饮料 样不同的宠物 吃不同的水果 1钱小姐穿红色的衣服, 2翁小姐养一只狗,

巫山老妖 4838
上一篇: TopCoder 每周一赛的一道题 -- 概率计算(解题报告)
下一篇: 一道算法面试题 -- 输出所有和为n连续正数序列
Rappy
博客等级 码龄20年 48粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值