zoukankan      html  css  js  c++  java
  • 智力题——12个球3次称重找出重量不同的那个,并给出轻还是重(如果是13个球呢?)

    1.12个球找出重量不同的那个,并给出是轻还是重

    首先明白此题的基本套路:

    A.如果最后能把范围限制在2个球,(知道其中有一个是坏球)那么显然一次就可以称出。

    B.同理把范围缩减在3个球也是可以一次称出的。

    给12个球分成3组,每组四个。

    第一次称重:

    把1、2、3、4放在天平的左面,5、6、7、8放在天平的右面,将出现3种情况:

    1. 1234重
    2. 5678重
    3. 平衡

      其中1、2本质上是一种情况,第3种情况比较简单,说明坏球在剩下的9、10、11、12里。

    第二次称重

    若是前两种情况中的一种,方法如下:

    参考开头所说的套路,基本要想办法将球最后分成两个一组或三个一组,那么将6、7、8号球从天平右边取下,2、3、4号从左边换到右边,任取9-12号中的3个,(假设是9、10、11号),放到天平的左面。形成天平的左面是19、10、11号球,右面是52、3、4号球(为了便于看清不同组的球,用不同颜色做区分)的情况。这样称的结果同样有3种:

    1.1  19、10、11

    1.2  52、3、4

    1.3  平衡

    对于第一种情况来说,已知1、2、3、4 > 5、6、7、89、10、11、12都是好球,且19、10、1152、3、4,那么可能只可能是1或5坏球,且是1轻或者5重

    对于第二种情况来说,已知1、2、3、4 > 5、6、7、89、10、11、12都是好球,且19、10、11 < 52、3、4,那么只可能是坏球在2、3、4当中,且比较重

    若是最后一种情况(1、2、3、4与6、7、8、9平衡),则说明坏球在9、10、11、12里,那么任取9、10、11、12中的三个球(假设选9、10、11)出来与前八个正常球中的三个拿出来称重(假设选1、2、3),则称出来也有三种情况:

        3.1  9、10、11重(说明坏球在这三个当中且是重球)

        3.2  9、10、11轻(说明坏球在这三个当中且是轻球)

        3.3  平衡(说明12是坏球,但不知轻重)

    第三次称重

    对于第二次的各种情况展开来讨论:

        1.1  19、10、11重,按照套路A,范围缩小到两个球之内了,只需拿1或5其中一个跟另外任意一个好球称重即可。

        1.2  52、3、4重,按照套路B,范围缩小到3个球之内了,只需拿2、3、4中任意两球相比即可。

        1.3  平衡,那么说明坏球在6、7、8中,且较轻,按照B套路即可。

        3.1  B套路

        3.2  B套路

        3.3  直接拿12号与另外任意球对比

     2.13个球3次称重找出重量不同的那个,不需要给出轻重

    第一次称重

    13个球的情况同理12个球,分成三组,每组4、4、5个。第一次也是给两组4个球的组称重,若不平衡后续方法同理12个球,略。

    不同的是若两组四个球平衡,那么坏球在剩下的5个球当中。

    第二次称重+第三次称重

    拿出5个球中的3个球,与剩下好球中拿出3个进行比较,若不平衡,可按照套路B的办法在称一次。若平衡。则说明坏球在剩下的两个球里,取任意一个跟好球对比,则可以得出坏球。但是需要注意这种情况就无法得知坏球是重了还是轻了。

  • 相关阅读:
    深入理解系统调用
    基于mykernel 2.0编写一个操作系统内核
    交互式多媒体图书平台的设计与实现
    Ubuntu下VSCode调试环境搭建指南-C语言篇
    码农的自我修养之必备技能 学习笔记
    工程化编程实战callback接口学习笔记
    CentOS7.4网络配置
    R-CNN
    CUDA整理
    CUDA by Example 第四章 julia集
  • 原文地址:https://www.cnblogs.com/nekoneko-15/p/13875988.html
Copyright © 2011-2022 走看看