zoukankan      html  css  js  c++  java
  • 一道智力题

    一道智力题

    有十二枚鸡蛋,其中一枚坏掉了(重量与其余不同),现要求用天平称三次称出哪个鸡蛋是坏的。

     

    解:

    首先对于本题,有两点知识:

    知识1:在知道轻重的情况下,一次称量可以在3个蛋中,确定哪个是坏的。

    知识2:在不知道轻重的情况下,一次称量也可以在2个蛋中,确定哪个是坏的。

     

    对于知识1,随便拿两个蛋进行称量,如果平衡,则第三个蛋是坏的。如果不平衡,那么根据坏蛋的轻重,也可以判断这两个蛋中哪个是坏的。

    对于知识2,从已确定是好的蛋中取一个,和2个待选坏蛋中一个,进行称量,如果平衡,那么这个蛋是好的,另一个蛋是坏的。如果不平衡,那么这个蛋是坏的。

     

    (1) 将12个鸡蛋编号,然后平均分成三组,记为A,B,C。

    A组

    ①②③④

    B组

    ⑤⑥⑦⑧

    C组

    ⑨⑩⑪⑫

    第一次称量:

    将A组在左,B组在右进行称量。可能出现3种情况:

    平衡

    左倾

    右倾

    平衡说明,坏蛋在C组。

    左倾或右倾说明,坏蛋在A组或B组。

    我先讨论平衡的情况,左倾或右倾的情况留在后面讨论。

     

    (2)那么如果第一次称量平衡的话,进行第二次称量:

    A组的①②③在左,C组的⑨⑩⑪在右,进行称量。也可能出现3种情况:

    平衡

    左倾

    右倾

    如果平衡,那么可以直接确定,⑫是坏蛋。

    如果左倾,那么可以确定坏蛋是轻的,而且坏蛋就在⑨⑩⑪之中。那么由知识1可知,再经过一次称量,就可以确定⑨⑩⑪之中的坏蛋。

    如果右倾,参考左倾的情况可知,再经过一次称量,也可以确定⑨⑩⑪之中的坏蛋。

     

    (3)如果第一次称量左倾的话,将A组的④和B组的⑧交换,并且将B组的⑤⑥⑦换成⑨⑩⑪。这样A组就变成了①②③⑧,B组就变成了④⑨⑩⑪。然后进行第二次称量:

    A组在左,B组在右,进行称量。也可能出现3种情况:

    平衡

    左倾

    右倾

    如果平衡,可以确定坏蛋不再在①②③④⑧中,否则这次称量不能平衡。那么坏蛋只能在B组中被换掉的⑤⑥⑦中。再根据第一次称量左倾,可以确定坏蛋是轻的。那么由知识1可知,再经过一次称量,就可以确定⑤⑥⑦之中的坏蛋。

     

    如果左倾,首先,坏蛋不能在⑤⑥⑦之中,否则这次称量就平衡了。再来,坏蛋不能在④⑧之中,否则这次称量就应当和第一次称量的倾向相反。所以可以确定坏蛋在①②③之中,而且坏蛋是重的。那么由知识1可知,再经过一次称量,就可以确定①②③之中的坏蛋。

     

    如果右倾,由以上的分析,坏蛋只能在④⑧之中,但不知道坏蛋的轻重。没关系,由知识2,再经过一次称量,也可以判断④⑧之中的坏蛋。

     

    (4)如果第一次称量右倾的话,实际上是和左倾是一组对称情况,类比上面左倾的方法,也可以由3次称量确定①②③④⑤⑥⑦⑧中坏蛋。

     

    经过以上4个步骤,即可以用天平称三次称出哪个鸡蛋是坏的。

  • 相关阅读:
    Databases Questions & Answers
    SQL语句
    常见的数据库基础面试题大全
    关于GET POST
    经常遇到的浏览器兼容性问题
    关于JavaScript中apply与call的用法意义及区别(转)
    js闭包的用途
    深入理解js闭包
    undefined与null的区别
    HeapSort快速排序
  • 原文地址:https://www.cnblogs.com/emituofo/p/2582208.html
Copyright © 2011-2022 走看看