`
mixer_a
  • 浏览: 372320 次
社区版块
存档分类
最新评论

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

 
阅读更多

问题描述:

有1000个瓶子,其中有1个装的液体是有毒的,其余的999个装的是无毒的,有10只小白鼠用来测试,请找出装有毒的液体的瓶子。

解法1:二分查找

因为小白鼠测试的结果只有存活与死亡两种结果,所以每次测试可以分为两类,用二分查找的话,二叉树有十层,最坏情况下,给小白鼠喂药的次数为500+250+125+63+32+16+8+2+1=1001。

解法2:将1000个瓶子编号,然后转换成二进制,二进制的位数为10位,如果不过10位,高位用0填充,然后将十进制数第一位为1的喂第一个小白鼠,十进制第二位为1的喂给第二个小白鼠,以此类推。。。最后死亡的小白鼠为1,活着的小白鼠为0,组成的二进制数转换成十进制,对应的编号就是有毒的瓶子。这种解法,需要给小白鼠喂药的次数为1到1000转换成二进制后1的个数,我们算1到1024的(因为1到1000的个数约等于1-1024的,而且1-1024的比较好算),因为1到1024的十进制数中,0的个数和1的个数是相等的,总共有1024个十进制数,所以0和1总共的个数为1024*10=10240个,所以1的个数为5120个,也就是说,这种情况下,需要给小白鼠喂药5120次,约是第一种方法的5倍。

问题变种:

如果给上面的问题加些限制,比如小白鼠在吃过之后,一个星期之后才会死亡,如果采用解法1的话,最坏的情况下,将会使用10个星期,但是使用解法2的话,一个星期的时间,将会找出有毒的瓶子。

总结:在解决一些问题的时候,有时候可以在一方面减少复杂度,这就意味着在增加其它方面的复杂度,因为问题就在那里,不管用什么方法,它就在那里,不大不小。

分享到:
评论

相关推荐

    经典逻辑题(程序实现):假如你在一个荒岛上有100瓶水,其中一瓶有毒,你有若干只小鼠,如何用最少的小鼠和最少的时间来判断出那瓶水有毒?

    关键在于如何通过小鼠的反应——如果小鼠喝了有毒的水会死亡——在最少的轮次内找出有毒的瓶子。 这个问题可以通过二进制编码的方式来解决。每只小鼠代表二进制系统中的一位,水瓶则对应二进制数字。例如,如果有三...

    YOLOV5 改进【更换骨干网络为GhostNet】:水池中垃圾瓶子目标图像检测

    YOLOV5 改进【更换骨干网络为GhostNet】:水池中垃圾瓶子目标图像检测 【如何训练】和yolov5一样的训练方法,摆放好datasets数据,然后更改yaml文件中的类别信息即可训练 【数据集】(数据分为分为训练集和验证集...

    深度学习数据集:垃圾分类、瓶子垃圾图像分类

    深度学习数据集:垃圾分类、瓶子垃圾图像分类 数据集按照目录保存,相同数据放在同一目录下 类别个数(3):塑料瓶、玻璃瓶、金属瓶等等【具体类别参考json类别文件】 数据分为分为训练集和验证集、测试集: 训练...

    YOLO 数据集:金属罐、瓶子、纸盒垃圾检测数据(3类)【包含划分好的数据集、类别class文件、数据可视化脚本】

    类别个数(3):金属罐、纸盒、瓶子 数据分为分为训练集和验证集: 训练集datasets-images-train:892张图片和892个标签txt文件组成 验证集datasets-images-val:146张图片和146个标签txt文件组成 【txt类别文本...

    2022年西师大版六年级数学上册期中考试题(一套).pdf

    - 第7题:理解分数的意义,将总量分成几等份,并找出每份占总量的比例。 - 第8题:利用比例关系解决问题,瓶子的液体倒入酒杯,理解容量不变。 4. **几何图形**: - 圆的周长和面积计算:第3题和第10题涉及到圆...

    小班科学:瓶子国王的烦恼.docx

    三、幼儿初步尝试为瓶子找盖子。 * 师:我们一起来找找,然后给瓶宝宝戴上帽子吧!(操作音乐) * 师:真棒!都给瓶宝宝戴上了小帽子。好啦,我们坐到后面小椅子2上去吧! 四、集体检查是否正确配对并盖好了。 * ...

    小学一年级智力题80道.doc

    9个瓶子可以换3瓶新饮料,加上原来的3个空瓶,又可以换1瓶,总共可以喝到4瓶。 14. 第42题:偶数苹果分配。不能分配,因为7是奇数,无法均分为偶数。 15. 第43题:小水洼问题。① 若次数和为偶数,他在水中;② 若...

    SimuladorAmpolleta:Java中的瓶子模拟器

    当模拟过程中出现错误,如尝试填充已满的瓶子或倒空为空的瓶子时,我们可以抛出并捕获异常,以优雅地处理这些情况,避免程序崩溃。 另外,面向对象设计原则,如单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则...

    大班体育教案:玩瓶子.doc

    【大班体育教案:玩瓶子】是一份旨在利用废旧物品进行体育锻炼的教学方案,主要针对幼儿园大班的孩子。教案的核心是利用喝完的雪碧瓶作为运动道具,旨在提升孩子们的身体素质,培养他们的团队协作精神和创新思维能力...

    幼儿园教案2021-中班数学:瓶子宝宝.doc

    【教案名称】:中班数学活动 - 瓶子宝宝 【教学目标】: 1. 培养幼儿根据瓶子的特定特征(如大小、高矮、材质)进行有序排列的能力。 2. 让幼儿感知并理解10以内的数量概念,能够按数取物,建立数字与数量的对应...

    YOLO 数据集:大型饮料瓶子容器目标图像检测【包含划分好的数据集、类别class文件、数据可视化脚本】

    YOLO 数据集:大型饮料瓶子容器目标图像检测【包含划分好的数据集、类别class文件、数据可视化脚本】 数据保存按照YOLOV5文件夹保存,可直接用作yolo检测。 类别个数(9):玻璃瓶、塑料瓶、玻璃马克杯、一次性...

    幼儿园教案2021-小班综合活动:我和瓶子做朋友.doc

    在现代教育中,幼儿教育愈发注重培养孩子们的多元智能与实践操作能力,本篇《我和瓶子做朋友》的教案正是以此为核心设计的小班综合活动。通过与瓶子相关的游戏,孩子们不仅能够在愉悦的氛围中学习,还能在探索与实践...

    iOS捞瓶子图片

    在iOS应用开发中,"捞瓶子图片"这个主题可能指的是一个特定的应用功能或者设计元素,通常与社交...通过以上各方面的综合考虑和精心设计,iOS应用中的"捞瓶子图片"不仅能提供有趣的功能,还能为用户带来愉悦的使用体验。

    OCC引导教程:画瓶子.pdf

    OCC引导教程:画瓶子.pdf OpenCASCADE Technology(OCC)是一款功能强大且广泛应用的三维计算机辅助设计(CAD)系统。该系统提供了一个详细的教程,名为"画瓶子",旨在帮助用户快速掌握OCC的使用方法。 知识点1:...

    2022年冀教版五年级数学上册期中考试题(各版本).pdf

    3. 条件概率与搜索算法:13瓶水中找一瓶较重的,每次比较可以排除一半的瓶子。至少需要3次就能确保找到糖水,第一次称6瓶,若平衡则在剩下7瓶中找,第二次称3瓶,若平衡则剩下4瓶中找,第三次直接称即可。 4. 分数...

    鸡兔同笼问题习题.doc

    解方程组找出男生和女生的人数。 10. 第十题:设大油瓶有x个,小油瓶有y个,根据油的总量和瓶子数量,可得: 4x + 0.5y = 100 (油的总量) x + 2y = 60 (瓶子总数) 解方程组确定大、小油瓶的数量。 通过...

    2022年泸教版五年级数学上册期中考试题(真题).pdf

    - 题目4是找不同质量的瓶子,运用了概率和优化策略,至少需要称三次保证找出较重的瓶子。 - 题目5至10分别考察了能被2、3、5整除的数、质数的概念、几何体的构建、平行四边形和三角形的面积计算、植树问题以及...

    六年级数学下册第六单元解决问题测试题及答案精选.doc

    1. 瓶子问题:通过总量和瓶子数量的关系找出大瓶的数量。 2. 工作效率问题:考察工作效率和时间的关系,通过比较工作量来求解。 3. 浇水问题:这是一道比例问题,需要找出六年级和一年级学生浇水的比例关系。 4. ...

    八年级物理下册练习题及答案.doc

    第9题:用手握住酱油瓶,瓶子没有下滑,是因为?答案:手对酱油瓶的摩擦力和酱油瓶的重力平衡。 第10题:首次测出大气压值的著名实验是实验。在图中,A、B 是一个连通器的两个上端开口,当用一个管子沿 B 开口吹气...

    小班综合活动:我和瓶子做朋友.doc

    活动设计者细心观察到,幼儿天生对瓶子这类物体充满好奇心,他们通过各种方式与瓶子互动,比如抱着瓶子、滚瓶子,甚至踢瓶子。在这些看似简单的互动中,孩子们展现了惊人的想象力和创造力。基于此,教育者们决定将...

Global site tag (gtag.js) - Google Analytics