12 枚金币中有 1 枚是假的,用天平称 3 次找出结果。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ncdx2009
V2EX    问与答

12 枚金币中有 1 枚是假的,用天平称 3 次找出结果。

  •  
  •   ncdx2009 2016-04-04 12:15:43 +08:00 6403 次点击
    这是一个创建于 3476 天前的主题,其中的信息可能已经有所发展或是发生改变。
    12 枚金币外观相同,正常金币重量是标准一致的,假金币只是重量异常,天平没有砝码,如何只称 3 次,找出假金币以及它比正常金币轻了还是重了。
    这个问题,网上随便一搜就能找到答案,只是金币换成了小球或别的什么。
    有没有用编程作一个通用的解决办法?例如 120 枚中 1 枚假的,称 5 次能不能找出假金币的轻重等
    试着用穷举法做了一个,发现计算量有点大。
    求思路或答案。
    第 1 条附言    2016-04-04 14:49:18 +08:00
    还是写个答案吧,有些人不认真读题了。。。
    这种格式的答案, 楼主穷举了一下,有 304 个,大致就是按照按照 21 楼链接中的方法矩阵乘法。但这个按照算法,称 5 次时,数量已经大了很多,现在还没算出来 120 枚称 5 次时的答案。楼主更感兴趣的怎么用编程方法,解决这来问题。

    一 01, 02, 03, 04 09, 10, 11, 12
    二 01, 05, 06, 09 03, 04, 08, 12
    三 02, 05, 07, 10 01, 04, 06, 09
    结果清单如下
    L,O,R 分别表示天平的结果:左重,平衡,右重,
    L L R 01 重
    L O L 02 重
    L R O 03 重
    L R R 04 重
    O L L 05 重
    O L R 06 重
    O O L 07 重
    O R O 08 重
    R L R 09 重
    R O L 10 重
    R O O 11 重
    R R O 12 重
    O O O 无
    R R L 01 轻
    R O R 02 轻
    R L O 03 轻
    R L L 04 轻
    O R R 05 轻
    O R L 06 轻
    O O R 07 轻
    O L O 08 轻
    L R L 09 轻
    L O R 10 轻
    L O O 11 轻
    L L O 12 轻
    32 条回复    2016-04-05 23:30:58 +08:00
    hinate
        1
    hinate  
       2016-04-04 12:25:34 +08:00
    2 分
    vietor
        2
    vietor  
       2016-04-04 12:25:45 +08:00 via Android
    6,3,1
    zhjits
        3
    zhjits  
       2016-04-04 12:28:55 +08:00   3
    每次等分三份,称其中两份
    ncdx2009
        4
    ncdx2009  
    OP
       2016-04-04 12:33:42 +08:00
    @hinate @vietor 这个只是找出假金币,但是没有找出假金币比正常金币轻了还是重了
    @zhjits 这个好像也找不出轻重的。
    smallfount
        5
    smallfount  
       2016-04-04 12:34:58 +08:00
    在不知道轻还是重的情况下 2 分不能解决...因为第一次称好了完全不知道到底哪个是标准的...
    所以至少也得是 3 分....
    sorcerer
        6
    sorcerer  
       2016-04-04 12:36:19 +08:00 via iPhone
    @ncdx2009 为什么会找不出轻重?
    sorcerer
        7
    sorcerer  
       2016-04-04 12:37:10 +08:00 via iPhone
    @sorcerer 哦有次数规定
    Fleeting
        8
    Fleeting  
       2016-04-04 12:37:13 +08:00 via Android
    3 分吧
    sciooga
        9
    sciooga  
       2016-04-04 12:55:33 +08:00
    这题很有趣,小学的时候我爸喜欢给我出这种益智题,当时拿到这道题真的没头绪,晚上睡觉后闭上眼想了半个小时想出来激动得...

    给几个提示:
    1.给每个硬币编号。
    2.硬币间可以交换位置,看天平重轻方向是否改变。
    3.原题关键字是“ 12 个乒乓球特征相同 其中只有一个重量异常”搜一搜就有答案了。
    srlp
        10
    srlp  
       2016-04-04 12:56:39 +08:00
    一个天平可以比较三份数目相等的硬币,楼主按照这个思路就行
    233
        11
    233  
       2016-04-04 12:57:55 +08:00
    很经典的题目,从小学做到工作。关键的一步就是在第二次测量时要重新分组
    allan888
        12
    allan888  
       2016-04-04 13:17:36 +08:00   3
    这个之前看过,我说详细点好了,假设硬币叫做 1-12 :
    a. 分 3 份,分别是 1-4 , 5-8 , 9-12 ,称 1-4 和 9-8 ,平的话就在 9-12 ,没啥好说的。
    b.假设 1 , 2 , 3 , 4 轻, 5 , 6 , 7 , 8 重,那么确定 9 , 10 , 11 , 12 是真的硬币。
    c.拿出 1 和 3 个 9-12 里面的,比如 1 , 9 , 10 , 11 ,这里面只有 1 需要确定是不是假的。
    d.拿出 1 , 9 , 10 , 11 和 2 , 3 , 4 , 5 称,如果平的话就是 6 , 7 , 8 有问题,不用说了。

    e.如果 1 , 9 , 10 , 11 轻,那么 1 , 5 有问题,因为 6 , 7 , 8 已经知道没问题, 2 , 3 , 4 有问题的话现在 2 , 3 , 4 从左边换到了右边,右边应该轻才对, 1 , 5 有问题的话把 1 和一个真币称一下就知道谁是假币了。

    f.如果 1 , 9 , 10 , 11 重,那么 2 , 3 , 4 有问题,因为 1 , 5 有问题的话 1 , 5 都没有换边,轻重不会变,其实就是 2 , 3 , 4 换了位置导致轻重关系变了,到这步的话确定假币是偏轻的。 2 , 3 , 4 里面, 2 和 3 称一下轻的是假的,平的话 4 是假的。
    amet
        13
    amet  
       2016-04-04 13:34:10 +08:00   1
    信息论的题,刚学
    称重可能得到三种结果:一边轻、一边重、两边平衡
    H_1(x)=log(2)(3)
    一共有 N 个球,假球可能轻可能重, N*2
    H_2(x)=log(2)(2N)
    需要最少次数在( H_1(x)/H_2(x) , H_1(x)/H_2(x)+1 )之间取整数
    120 个球即 N=120
    H_1(x)/H_2(x)=4.98869 ……
    所以 5 次肯定可以
    LaTeX 不熟,不会写对数,公式都是以 2 为底,将就看吧
    amet
        14
    amet  
       2016-04-04 13:38:16 +08:00
    @amet 计算次数时分子分母写反了 ……
    sigone
        15
    sigone  
       2016-04-04 13:46:08 +08:00 via Android
    6/6 , 3/3 , 1/1 (1-1-1 排除法)

    幼儿园水平水平
    steveshi
        16
    steveshi  
       2016-04-04 13:48:40 +08:00
    金田一做过这个题目……
    Xs0ul
        17
    Xs0ul  
       2016-04-04 14:00:30 +08:00
    @amet 按照你这里的理论, 3 次应该可以分 13 个球( 3^3 > 13*2 ),然而我见到的题目全是 12 ,我相信不是出题者和做题者没有想到 13 的解法。事实上你不能保证每次获得的信息都是最好的(或者说是对于各种情况都是比较平均的),比如可能在某一步一边重留下的情况比较多,一样重留下的情况比较少。
    mfinal
        18
    mfinal  
       2016-04-04 14:07:41 +08:00
    @sigone 强调了不知道有问题是轻 or 重,不仔细看题也看看前面的评论吧..
    Exin
        19
    Exin  
       2016-04-04 14:15:14 +08:00
    @mfinal 我问过不少人这个题目,一半的人脱口而出“二分法”、“真简单”,说明都太自信了。
    mimzy
        20
    mimzy  
       2016-04-04 14:22:24 +08:00 via Android
    只针对这道题的话 第一次看见是在这里 http://blog.csdn.net/pongba/archive/2008/06/13/2544933.aspx
    luguozmy
        21
    luguozmy  
       2016-04-04 14:27:32 +08:00
    https://en.wikipedia.org/wiki/Balance_puzzle
    https://zh.wikipedia.org/wiki/%E7%A8%B1%E7%90%83%E5%95%8F%E9%A1%8C

    我记得这是以前初中的智力题, 不难的, 我家那个小弟弟认真想想就可以解出来
    loading
        22
    loading  
       2016-04-04 14:28:07 +08:00 via Android   1
    这一题不是考智商的,这是一个记忆题,因为这个题目已经烂大街了…
    pimin
        23
    pimin  
       2016-04-04 14:50:57 +08:00 via Android
    @Xs0ul
    13 和 12 真的没区别吧
    一样解法
    vietor
        24
    vietor  
       2016-04-04 14:51:02 +08:00 via Android
    @ncdx2009 金的密度高,所以假的肯定轻
    ncdx2009
        25
    ncdx2009  
    OP
       2016-04-04 15:03:51 +08:00
    @pimin 13 称 3 次,好像真的解决不了,操作上不能实现。类似简单的 4 枚称 2 次,信息论上可行,操作上不能实现。

    @vietor ,金币中含金量是有限的,不能排除使用含金量高的“假金币”来走私黄金
    Xs0ul
        26
    Xs0ul  
       2016-04-04 15:04:09 +08:00
    @pimin 称球问题是指若在最多 (3^n-3)/2 个球中有一个特殊球的重量与众不同(不知道偏重还是偏轻),而其他球的重量全部相同,则用无砝码的天平称 n 次可以找出特殊球,并确定特殊球是偏轻还是偏重;如果有 (3^n-1)/2 个球,则同样可以保证找出特殊球,但不一定能确定特殊球是偏轻还是偏重
    来自维基百科 https://zh.wikipedia.org/wiki/%E7%A8%B1%E7%90%83%E5%95%8F%E9%A1%8C

    @ncdx2009 楼主可以看看维基百科提到的矩阵解法
    ncdx2009
        27
    ncdx2009  
    OP
       2016-04-04 15:54:50 +08:00
    @Xs0ul 目前是按照这个矩阵解法进行的编程练习, 这解法的数量增长太快了,12 枚称 3 次是 2 的 12 次方(4 位数) , 到 120 枚称 5 次是 2 的 120 次方(37 位数) 。
    kaizixyz
        28
    kaizixyz  
       2016-04-04 17:27:51 +08:00 via iPad
    12 个球有 1 个异常。可能性有 24 种。称相当于 3 进制。所以 3 位的编码就够了。理论上 13 个球应该也行啊。求大神来个 13 球版的
    RqPS6rhmP3Nyn3Tm
        29
    RqPS6rhmP3Nyn3Tm  
       2016-04-04 19:09:32 +08:00
    这不是很简单吗,二进制编码原理
    USCONAN
        30
    USCONAN  
       2016-04-04 19:25:01 +08:00
    malcolmyu
        31
    malcolmyu  
       2016-04-04 21:09:02 +08:00
    @amet @kaizixyz 正解,信息论的题,天平有三种状态,假球有 2N 种状态,只要 3^m > 2N 就一定能求解
    yelite
        32
    yelite  
       2016-04-05 23:30:58 +08:00
    @amet 信息论只能给出下界,如果有两个是假的,那好像是找不出实际方案来达到信息论下界的上取整的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     918 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:01 PVG 06:01 LAX 15:01 JFK 18:01
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86