【智力题】找出那只球!

有12个球,其中11个球质量相同,只有1个重量与其余不同(不知是轻还是重)。
现有1个天平(无砝码),请问如何称量3次就能保证找到那个球?

解决方案:将球编号1-12号并分成3组。
          A:1  2  3  4
          B:5  6  7  8
          C:9 10 11 12
          首先称量A与B,若A=B,则A、B中都是标准球,在通过C中球与标准球的比较(2次)找出那个球。
                        若A≠B(不妨令A<B),则C标准球,要么重球在B中,要么轻球在A中。
                               然后称量125与348。若两者相等则重球在6、7中。
                                               若不等(不妨令前者<后)则8重球或1、2有轻球。
                                                      最后称28与910得3种情况分别对应3种结果。
                                                      或者称1与2得3种情况。总共正好称3次。
[半条件:若3个球中有1个轻球(或重球),那取其中两球称1次即可]
拓展:有13个球,也只需称3次。
答案:在上图中C组再增添13号球,若A=B,称91011与567。
                                      若相等,则在1213中。
                                      若不等,(不妨令前>后)则重球在91011中,利用半条件得出。
                               若A≠B,过程如上;或者称12567与910111213(道理差不多)。
由此推论,从13*13=169个球中找出1个质量不同球,最多只需要称3+3=6次。(分成13组,每组13球)
【保留已得出的可利用结论】

时间: 2024-10-04 15:52:42

【智力题】找出那只球!的相关文章

【智力题】找出那只球2

有26个小球,其中25个质量相同,只有一个球略重一点.现在有一个不带砝码的天平,试问:最少称几次才能保证一定能找出那个重球?答案:3次.分析:若3个球中有1个重球,那只需称一次就可找出.      那3*3=9个球中有1个重球,需称2次.      27个球中有1个重球,需称3次.      81个球中有1个重球,需称4次.

【智力题】找出那只罐头

有10个箱子,每箱10个罐头,每个罐头10斤.但其中有1箱中的罐头都是9斤.现在只有一个秤,而且只准秤一次重量.请问如何找出9斤的是哪一箱? 答案:第1箱取1个罐头,第2箱取2个罐头,以此类推,总共55罐一起称,重量比550斤少几斤就是第几箱.

Single Number:从数组中找出只出现一次的数字

[ 问题: ] Given an array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory? 翻译:给定一个整数数组,数组中所有元素都出现了两次,只有一个元素只出现

数组大小为2n+1-数组相关算法java,找出需求的数据

问题描述 数组相关算法java,找出需求的数据 存在一个数组,数组大小为2n+2,里面有n对个数,例如:1,2,2,3,4,1.(数组是无序的,考虑排序的话一定会超过限制)这,6个数中的单独的数就是3,4,要你用你能想到的最高效率的方法找出来 解决方案 如果数组是连续的则可以用byte[] b = new byte[n+1];然后遍历一遍原数组,将遍历的值放入b的下标中计数,最后为1的那个下标表示数据是单独的. 这样的话总最多做3n+3次操作就能找全单独的数. 如果数组里面的数是无规律的,那么可

C#解号称爱因斯坦出的智力题

现有题号称爱因斯坦出的智力题全世界只有2%能够做出.------------------------------------------------1.在一条街上,有5座房子,喷了5种颜色.2.每个房里住着不同国籍的人3.每个人喝不同的饮料,抽不同品牌的香烟,养不同的宠物问题是:谁养鱼?提示:1.英国人住红色房子2.瑞典人养狗3.丹麦人喝茶4.绿色房子在白色房子左面5.绿色房子主人喝咖啡6.抽Pall Mall 香烟的人养鸟7.黄色房子主人抽Dunhill 香烟8.住在中间房子的人喝牛奶9. 挪

c++-ACM编程题,找出敏感词串,并删除,要求时间和空间效率很高,我写的程序通不过,

问题描述 ACM编程题,找出敏感词串,并删除,要求时间和空间效率很高,我写的程序通不过, Censorfrog is now a editor to censor so-called sensitive words (敏感词). She has a long text p. Her job is relatively simple -- just to find the first occurence of sensitive word w and remove it. frog repeats

快速找出php中可能导致cpu飙升问题的代码行

用cpu接近100%时,你如何找到导致cpu飙升的原因?我的思路是,首先找到进程正在执行的代码行,从而确定可能有问题的代码段.然后,再仔细分析有问题的代码段,从而找出原因. 如果你的程序使用的是c.c++编写,那么你可以很容易的找到正在执行的代码行.但是,程序是php编写的,如何找到可能有问题的代码行呢?这个问题就是本文要解决的问题. 背景知识: 大家都知道php是一个解释性语言.用户编写的php代码会生成opcode,由解释器引擎去解释执行.在解释执行过程中,有一个全局变量包含了执行过 程中用

找出所有最长连续重复子串及其个数

问题描述: 找出字符串中所以最长连续重复子串及其个数 比如: 输入:123234,最大连续重复字符串为23,个数为2 输入:5555,最大连续重复字符串为555,个数为2 输入:aaabbb 最大连续重复字符串为aa,个数为2:和bb,个数为2 必须存在重复的字符串才算,只出现一次的不算.可能存在多个相同长度的不同字符串,比如aaabbb. 解题思路 与[求一个字符串中连续出现次数最多的子串]的区别体现在两个方面:一是要找最长子串(重复次数大于等于2即可):二是要考虑子串是有重叠的重复,如eee

IT思想类智力题

1. 台阶问题 题目:一个人上台阶可以一次上一个或两个,问这个人上n层的台阶,一共有多少种走法. 本题可以采用递归的方法来设计模型,先从数字的规律入手:假设共有i阶台阶,走完所有的台阶有n种走法,则存在如表6- 3所示. 表6- 3组合情况 i n 组合情况 1 1 {1} 2 2 {1, 1}{2}  3  3 {1, 1, 1}{1, 2}   {2, 1}      4          5   {1, 1, 1, 1}{1, 1, 2}   {1, 2, 1} {2, 1, 1} {2,