八个球、八瓶水

有8瓶水,其中有一瓶有毒,最少尝试几次可以找出来?

3次呀,和小球一样的,都是靠「混在一起」,要么称,要么喂小鼠,要么尝尝甜不甜,要么.....

比如
1234混在一起,小鼠挂了
12混在一起,小鼠挂了
1自己,小鼠没挂 —— 2有毒

八个球:

天平每边放3个球。 1。若平衡。取称过的6个球中的任一个,与剩下的两个中的一个称,平衡则未称的球是所找的球,不平衡则刚拿的球是所要找的球。 2。若不平衡,从重量轻的三个球中任取两球放在天平两顿,若平衡则第三个球是所找的球,不平衡,则重量轻的是所要找的球。
时间: 2024-08-25 21:35:26

八个球、八瓶水的相关文章

c语言:1000瓶水,有一瓶是有毒的,现共有10只老鼠,怎么判断毒水?

问题:1000瓶水,其中有一瓶是有毒的,一只老鼠喝下毒水会一天之后死亡,现在共有10只老鼠,怎么判断哪一瓶水是毒水? 分析:2^10=1024,则可以考虑利用二进制求解 解:给1000瓶水依次标号1至1000,将10只老鼠从右向左排成一列,第一瓶水让右边第1只老鼠喝,第2瓶水让第2只老鼠喝,第3瓶水让第1,2只老鼠喝,则第4瓶水让第3只老鼠喝,......第1000瓶水依次让第4,6,7,8,9,10只老鼠喝,记死亡的老鼠为1,未死亡的老鼠为0,按照二进制表示数的方法求出这个数,就知道哪瓶是毒水

八数码的八境界 [转载]

八数码的八境界   研究经典问题,空说不好,我们拿出一个实际的题目来演绎.八数码问题在北大在线测评系统中有一个对应的题,题目描述如下: Eight Time Limit: 1000MS    Memory Limit: 65536K  Special Judge Description The 15-puzzle has been aroundfor over 100 years; even if you don't know it by that name, you've seen it. I

半瓶水Android应用开发专栏——android基础知识

概述 Android自从2005年8月由Google收购注资后,到08年第一部android手机的发布,再发展到现在,人们对android这个词已经很熟悉了.对于开发人员而言,android开发技术已经非常成熟,很容易上手.本人之前是做web开发的,也是后来自学android,到目前已经android应用开发两年多的经验,再次总结一下Android开发中遇到的困惑,对刚毕业的童鞋,或想转android开发的童鞋一点点小帮助. 之所以取名为半瓶水,想必大家看了就应该知道其意,软件行业太广太深,本人

1块钱一瓶水,4个盖子换一瓶水,150块能喝多少水

先来分析一下: 第一次:150 第二次:150 / 4 = 37 ······2 第三次:(37+2)/ 4 = 9······3 第四次:(9 + 3) / 4 = 3 3 < 4 所以停止 初始值150瓶水,也就是150个盖子 1.拿所有的盖子去换水,纪录余数和sum 2.(上次的余数+上次换水喝剩的盖子数)/4,纪录余数和sum1 …… 无限循环,直到盖子数<4,, 结合代码: public class Demo3 { public static void main(String[] a

有 3 只老鼠,8 瓶水,其中一个有毒,喝到有毒的水之后,老鼠一周后会准时死亡.

题目:有 3 只老鼠,8 瓶水,其中一个有毒,喝到有毒的水之后,老鼠一周后会准时死亡. 按照要求,写个算法,找出哪个有毒 (以程序语言实现,语言不限) 基本思路: 给瓶子编号 0~7,并把编号翻译成二进制串,刚好可以用三位二进制来表示.让三只老鼠分别对应三位二进制,然后形成如下交叉表: 老鼠1 老鼠2 老鼠3 0 = 0 0 0 1 = 0 0 1 2 = 0 1 0 3 = 0 1 1 4 = 1 0 0 5 = 1 0 1 6 = 1 1 0 7 = 1 1 1 其中二进制位为 1 的地方表

cdoj 24 8球胜负(eight) 水题

8球胜负(eight) Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/24 Description 8球是一种台球竞赛的规则.台面上有7个红球.7个黄球以及一个黑球,当然还有一个白球.对于本题,我们使用如下的简化规则:红.黄两名选手轮流用白球击打各自颜色的球,如果将该颜色的7个球全部打进,则这名选手可以打黑球,如果打进则算他胜.如果在打进自己颜色的所有球之前就把黑球打进,则

HDU 1043 八数码(八境界)

8境界:http://www.cnblogs.com/goodness/archive/2010/05/04/1727141.html 境界一. 暴力广搜+STL (HDU 内存超限,POJ 时间超限) map存路径,set判重,string存状态,毫无疑问,炸了. #include<cstdio> #include<cstring> #include<string> #include<cmath> #include<vector> #inclu

Netty in Action (十八) 第八章节 Bootstrapping

本章内容包括 1)客户端和服务器端的Bootstrapping 2)在一个Channel中的Bootstrapping客户端 3)增加ChannelHandler 4)使用ChannelOptions和attributes 已经深入地学习过了ChannelPipeline,ChannelHandler,codec等类,你接下来的可能会问:如何将这些组件组装起来增加到你的应用中去? 答案是:"Bootstrapping",其实到目前为止,我们已经模糊地接触过几次这个组件了,现在是时候给它

循环语句(2)

for的嵌套 //99乘法表 for (int a = 1; a <= 9; a++)-----控制行 { for (int i = 1; i <= a; i++)------控制列 { Console.Write(i + "*" + a + "=" + (a * i) + "\t"); } Console.WriteLine(); } Console.ReadLine(); 结果 打印星号 //直角在左上 for (int i =