有十二個雞蛋,其中有一個是壞的(重量與其他雞蛋不一樣),現要求用天平稱三次,稱出壞的那個雞蛋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爲壞雞蛋