码迷,mamicode.com
首页 > 其他好文 > 详细

称3次,找出坏鸡蛋

时间:2020-03-15 00:01:57      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:else   两种   nbsp   time   iam   假设   根据   平衡   影响   

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

 

准备工作:将十二个鸡蛋编号,1、2、3......11、12。分为三组,1、2、3、4为第一组,5、6、7、8为第二组,9、10、11、12为第三组。其中,Time = ?表示这是第?次称。

分析:取第一组、第二组,分别放置在天平两端,两种情况:平衡,不平衡(Time = 1)

  ♦ if (平衡):这8个鸡蛋都是好的,取3个(1、2、3)出来,和剩下4个中的任意3个(假设是9、10、11),将这两组分别放在天平两端,两种情况:平衡,不平衡(Time = 2)

        if(平衡):1-11鸡蛋都是好的,鸡蛋12是坏的(只称了两次,找出了坏鸡蛋),任选一个好鸡蛋,和鸡蛋12放在天平两端(找出坏鸡蛋是轻还是重)(Time = 3)

        else(不平衡):9、10、11的三个鸡蛋中有一个是坏的,鸡蛋12是好的(并且知道坏鸡蛋是轻还是重)。任取两个鸡蛋(9、10),放在天平两端,两种情况:平衡,不平衡(TIme = 3)

                if(平衡):鸡蛋11是坏的

                else(不平衡):根据轻重得出9、10两个鸡蛋中哪个是坏鸡蛋

  ♦ else(不平衡):第三组鸡蛋9、10、11、12是好的。第一组和第二组的鸡蛋一定是一组轻,而另一组重(假设第一组重<1、2、3、4>)。从第三组鸡蛋重任取3个(9、10、11),将4、5、6、7作为第一组,8、9、10、11作为第二组分别放在天平两端,则有三种情况:第一组重或第二组重(不平衡),一样重(平衡)(Time = 2),分别如下:

  A、第一组重,因为9、10、11是好鸡蛋,而5、6、7不管是放左边还是右边,对哪边重并未影响,所以有问题的在4、8之间,取鸡蛋12和4、8中的任一鸡蛋比较轻重(Time = 3),从而找出有问题的鸡蛋

  B、第二组重,则问题出在5、6、7鸡蛋上,且知道坏鸡蛋比好鸡蛋轻,任取两个鸡蛋(5、6)放天平两端称,不平衡(Time = 3),则轻的为坏鸡蛋;否则7为坏鸡蛋

  C、一样重,则问题在1、2、3鸡蛋上,且可以知道坏鸡蛋比较重,任取两个(1、2)放在天平两端(Time = 3),不平衡,则重的为坏鸡蛋;否则3为坏鸡蛋

 

    

称3次,找出坏鸡蛋

标签:else   两种   nbsp   time   iam   假设   根据   平衡   影响   

原文地址:https://www.cnblogs.com/xiaolongren/p/12494897.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!