称3次,找出坏鸡蛋

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

 

准备工做:将十二个鸡蛋编号,一、二、3......十一、12。分为三组,一、二、三、4为第一组,五、六、七、8为第二组,九、十、十一、12为第三组。其中,Time = ?表示这是第?次称。工作

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

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

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

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

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

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

  ♦ else(不平衡):第三组鸡蛋九、十、十一、12是好的。第一组和第二组的鸡蛋必定是一组轻,而另外一组重(假设第一组重<一、二、三、4>)。从第三组鸡蛋重任取3个(九、十、11),将四、五、六、7做为第一组,八、九、十、11做为第二组分别放在天平两端,则有三种状况:第一组重或第二组重(不平衡),同样重(平衡)(Time = 2),分别以下:

  A、第一组重,由于九、十、11是好鸡蛋,而五、六、7无论是放左边仍是右边,对哪边重并未影响,因此有问题的在四、8之间,取鸡蛋12和四、8中的任一鸡蛋比较轻重(Time = 3),从而找出有问题的鸡蛋

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

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

相关文章
相关标签/搜索