zoukankan      html  css  js  c++  java
  • 笔试题:十三 三次 与众不同的那个

    十三个乒乓球中有一个球的质量或轻或重,用天平只能在称三次的情况下该如何找出这个球? 

    将13个球编号为1,2,3,……,13。

    第一步:1,2,3,4——5,6,7,8;
    如果相等,则坏球在9-13之中;
    { 第二步:1,9——10,11;
     如果相等,则坏球在12或13中;
     { 第三步:1——12;
      如果相等,坏球是13(但无法确定坏球是太重还是太轻);
      如果不等,坏球是12;
     }
     如果左>右,则可能9太重,或10,11中的一个太轻;
     { 第三步:10——11
      如果相等,则9是坏球,而且是太重;
      如果左>右,则11是坏球,而且是太轻;
      如果左<右,则10是坏球,而且是太轻;
     }
     如果左<右,则可能9太轻,或10,11中的一个太重;
     { 第三步:10——11
      如果相等,则9是坏球,而且是太轻;
      如果左>右,则10是坏球,而且是太重;
      如果左<右,则11是坏球,而且是太重;
     }
    }
    如果左>右(“左<右”的情况完全类似),则1-4中有一个太重,或5-8中有一个太轻;
    { 第二步:1,2,9——3,4,5;
     如果相等,则坏球在6,7,8中,而且坏球太轻;
     { 第三步:6——7;
      如果相等,则8是坏球,而且太轻;完成;
      如果左>右,则7是坏球,而且太轻;完成;
      如果左<右,则6是坏球,而且太轻,完成;
     }
     如果左>右,则1,2中一个太重,或5太轻;
     { 第三步:1——2;
      如果相等,则5是坏球,而且太轻;完成;
      如果左>右,则1是坏球,而且太重;完成;
      如果左<右,则2是坏球,而且太重;完成;
     }
     如果左<右,则3,4中一个太重,或5太轻;
     { 第三步:3——4;
      如果相等,则5是坏球,而且太轻;完成;
      如果左>右,则3是坏球,而且太重;完成;
      如果左<右,则4是坏球,而且太重;完成;
     }
  • 相关阅读:
    Python学习笔记:断言
    Python学习笔记:反射
    Python学习笔记:异常处理
    Python学习笔记:面向对象
    Python学习笔记:模块学习
    Python学习笔记:解耦合
    flume配置
    李辉爱吴紫微
    python一个列表根据某个元素前后分割
    hadoop伪分布集群
  • 原文地址:https://www.cnblogs.com/kelin1314/p/1833720.html
Copyright © 2011-2022 走看看