zoukankan      html  css  js  c++  java
  • 12个球称重三次问题

    Question:一个天平,12个球,只能称三次,要找出12个球中一个重量不同的球,注意这个球并不一定比别的球重,也不一定轻

    几个原文链接:1,庸才不敢博   2,世界上最酷的词汇不是优雅、品味,而是设计;世界上最好的优点是坚韧

    Answer1:关键思路: 
    天平有三种状态:平衡、左倾、右倾。 
    也就是以每个球为信息分解粒度,一次称重可以判断三个球,那么12个球至少要3次(3*3*3>12)。 

    那么具体操作时应该怎样分呢? 
    第一次分3组,这样正好一次确定在哪一组出问题(如果天平平衡)或者哪一组是正常的(如果天平倾斜); 

    第二次有两种处理方式,但目的都是确定哪三个出问题,偏重还是偏轻(这点很重要): 
    1,如果确定了是哪4个(第一次天平平衡)。那么只需要取出三个和其他正常组中的3个称重比较即可。 
    1.a)如果平衡,那么不用第三次测量,没拿去称的那个就是坏球,但不知道是偏重还是偏轻。 
    1.b)如果倾斜,不用说,现在你就知道是这三个中有坏球,偏重还是偏轻也知道了。第三次测量完全无需解释。

    2,如果第一次天平不平衡,确定坏球范围就是8个。怎么办呢?目的不要忘了,要确定是哪三个出问题。所以: 
    任意一边(如A)取出3个,并从另外一边(如B)移3个过来,再又从正常的4个球里拿三个放过去(B)。 
    2.a)如果平衡,那么坏球在(A方)被取出的3个里面,偏重偏轻根据第一次测量的倾斜状况判断。 
    2.b)如果倾斜方式不变,那么坏球就是(A方)没被取出那个或者是(B方)没被移动过来的那个,将这两个球和一个已知正常球一起测量第3次就可以得到结果,偏重偏轻依然根据倾斜状况判断。 
    2.c)如果倾斜方式改变,那么坏球就是在(B方)移过来的那3个里面,偏重偏轻依然根据倾斜状况判断。 

    第三次,不用解释啦。

    Answer2:第一步以及第一步之后平衡的情况都跟你一样,第一步之后不平衡有点区别,为了方便说明,给球编一下号,重的那边四个1234,轻的那边4个5678,没有称的4个abcd
    2:左边放12567,右边放8abcd
    2.1 左边重说明要么12里面有一个偏重,要么8偏轻,于是天平左边1,右边2,如果不平衡那特殊球就是重的那个,如果平衡特殊球就是8号
    2.2 右边重说明567里面有一个偏轻,三个球找一个轻的,你会的- -|
    2.3 平衡,说明34里面有一个偏重,两个球找一个重的,你会的- -|

  • 相关阅读:
    链接的具体内容
    多线程下载图片
    Commo*IO组件的简单应用
    文件分割
    mybatis动态sql
    ajax请求与json数据处理
    ModelAndView 配置与使用
    div塌陷,以及页面常用属性
    EasyUI 时间插件使用配置
    Editor富文本编辑器配置【不含图片上传】
  • 原文地址:https://www.cnblogs.com/zhaoxiaolei/p/2302696.html
Copyright © 2011-2022 走看看