zoukankan      html  css  js  c++  java
  • 13个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?

    对于这个题目,不知道那个球到底是轻还是重,只能在比较称重的过程中找出来。


    下面是思路:


    第一次称:左边4个右边4个
    (一)假如平衡, 那么很好办,坏球在剩下5个里。
         这5个里面的3个出来,跟3个好球称。如果平衡,坏球在剩下2个球里,拿任意一个更一个好球称就可以。如果不平衡,坏球在拿出来的三个里面,并且按照这3个球和3个好球的结果,可以知道坏球是重的还是轻的。拿这3个位置球中任意2个放在天平两边,平衡,则剩下一个就是坏球,不平衡,则按照前面3个未知和3个好球的倾斜结果,就知道坏球是重的那个还是轻的那个。
         那么,平衡情况下,剩下5个球里找坏球已经解决了。看零一种情况。
    (二)假如不平衡,设左边4个球为ABCD,右边4个球为EFGH,好球为O。
         坏球是ABCDEFGH中的一个。第二次称:左边放AF和一个好球O,右边放EBC。
             (1)如果AFO和EBC平衡,则坏球在DGH三个里面。
                按照前面判别三个球的方法,第三称G和H。
               平衡,则坏球是D。
               有轻重,则说明ABCD都是好球,
                  按ABCD和EFGH的结果,可以知道坏球是轻还是重,对应G还是H。
             (2)如果AFO和EBC不平衡,且倾斜方向与ABCD和EFGH的结果相同
                   由于DGH此时都是好球,于是坏球在A和E里。
    (为么说坏球就在A和E里面嫩?刚开始假设ABCD<EFGH,后来AFO<EBC,此时可以判断除DGH是好球,所以对于初始的ABCD<EFGH逻辑推理,两边分别去掉好球D和H,那么还是ABC<EFG,这时G是好球,可以理解成O,那么ABC<EFO,和上面的AFO<EBC比较,什么意思嫩?就是说把A和E兑换后轻重方向就变了,那么坏球肯定在A或者E里面……)
                   2个球里找1个,很简单
                如果AFO和EBC不平衡,且倾斜方向与ABCD和EFGH的结果相反
                   由于DGH都是好球,坏球在FBC三个球里。(推理同上)
                   第三次称B和C。平衡,坏球是F。
                  不平衡,则参照AFO三个好球和EBC的结果,知道坏球是轻还是重,从而确定哪个球是坏球。
    我靠,终于明白了,中间括号的解释是自己加的。
  • 相关阅读:
    monaco editor
    javascript for of 和 for in 在数组和对象中的区别
    django rest 版本控制器
    学习
    day 22
    day 21
    day20
    day21 数据处理自我小结
    day20 【手写数字识别】之数据处理(搬运)
    day19 通过极简方案快速构建手写数字识别模型 (百度飞浆搬运)
  • 原文地址:https://www.cnblogs.com/allenzhaox/p/3201842.html
Copyright © 2011-2022 走看看