1. 程式人生 > >[科技部與你共成長] 稱球

[科技部與你共成長] 稱球

有十二個外形完全一樣的球,但是其中有一個的重量和其他十一個不一樣,而且不知道是輕還是重。現在問,給你一個天平,只能稱三次,你能不能找出那個重量不一樣的球,如果能的話,能不能確定那個球是重了還是輕了。

-----------------------------------------------------------------------------------------------

答案:

將 12 個球編號:A1,A2,A3,A4 B1,B2,B3,B4 C1,C2,C3,C4 

第一步:比較 A1+A2+A3+A4 和 B1+B2+B3+B4。 
(1) 如果 A1+A2+A3+A4 = B1+B2+B3+B4,則壞球在 C1,C2,C3,C4 中 

第二步:比較 A1+C1 和 C2+C3 
(1.1) 如果 A1+C1 > C2+C3,則連同(1)可知壞球在 C1,C2,C3 中,因為通過(1)所有A已經被證明是好的。並且是C1重,或者是C2,C3輕(因為是左大於右)。 

第三步:比較 C2 和 C3 
(1.1.1) 如果 C2 > C3,連同(1.1)可知,C3是假的,且是輕的。 
如果 C2 = C3,連同(1.1)可知,C1是假的,且是重的。 
如果 C2 < C3,連同(1.1)可知,C2是假的,且是輕的。 

在第二步中 
(1.2) 如果 A1+C1 = C2+C3,則排除C1,C2,C3是壞球,不然不可能左右相等,進而由(1)可知壞是 C4。 
第三步:比較 A1 和 C4 
(1.2.1) 如果 A1 > C4,連同(1.2)可知,C4是輕的假球。 
如果 A1 < C4,連同(1.1)可知,C4是輕的假球。 
不可能A1等於C4 

在第二步中 
(1.3) 如果 A1+C1 < C2+C3,解法類似(1.1),只不過是大小反過來,實際上是一樣的,在此不贅述。 


在第一步中 
(2) 如果 A1+A2+A3+A4 > B1+B2+B3+B4,則壞球在 A1,A2,A3,A4,B1,B2,B3,B4 中。且A1,A2,A3,A4重,或者是B1,B2,B3,B4輕。 

第二步:比較 A1+A2+B1 和 A3+A4+B2 
(2.1) 如果 A1+A2+B1 > A3+A4+B2,則連同(2)可知壞球在 A1,A2,B2 中,並且是A1,A2重,或者是B2輕。 

第三步:比較 A1 和 A2 
(2.1.1) 如果 A1 > A2,連同(2.1)可知,A1是假的,且是重的。 
如果 A1 = A2,連同(2.1)可知,B2是假的,且是輕的。 
如果 A1 < A2,連同(2.1)可知,A2是假的,且是重的。 

在第二步中 
(2.2) 如果 A1+A2+B1 = A3+A4+B2,則連同(2)可知壞球在 B3,B4 中,並且是B3,B4輕。 

第三步:比較 C1 和 B3 
(2.2.1) 如果 C1 > B3,連同(2.2)可知,B3是假的,且是輕的。 
如果 C1 = B3,連同(2.2)可知,B4是假的,且是輕的。 
不可能C1小於B3 

在第二步中 
(2.3) 如果 A1+A2+B1 < A3+A4+B2,則連同(2)可知壞球在 B1,A3,A4 中,並且是B1輕,A3,A4重。 

第三步:比較 A3 和 A4 
(2.2.1) 如果 A3 > A4,連同(2.3)可知,A3是假的,且是重的。 
如果 A3 = A4,連同(2.3)可知,B1是假的,且是輕的。 
如果 A3 < A4,連同(2.3)可知,A4是假的,且是重的。 

在第一步中 
(3) 如果 A1+A2+A3+A4 < B1+B2+B3+B4,解法類似(2),只不過是A和B的大小反過來而已,實際上是一樣的。