有十二个球,大小形状相同,其中有一个是劣质球,或轻或重无法用感觉判断,现有一无刻度的天平,请用三次称量确定那个劣质球。这个问题应该这样解决了吧。从昨晚到现在一直在想这个问题,现在终于想明白了,应该不会有错了吧?如果有错的话欢迎指正啊!一起探讨。这个问题是我在csdn论坛上看到的一道java面试的题目。刚开始也是想的很简单,可是后来就发现其实不简单,然后有从网上找的,有问同学的,现在终于解决了。下面是我写的解答:
假设分三个组,每组4个,4个组分别记为A(A1,A2,A3,A4)、B(B5,B6,B7,B8)、C(C9,C10,C11,C12)
接下来进行第三次称量:把A1放天平左边,拿一个标准的放天平右边比如C9,现在天平左边是A1,右边是C9,如果A1=C9,则说明B5为劣质球,比标准的球轻,问题解决。
如果A1>C9,则说明A1为劣质球,比标准球重,问题解决。
如果B6>B7,则说明B7为劣质球,问题解决。如果B6<B7,则说明B6为劣质球,问题解决。
假设分三个组,每组4个,4个组分别记为A(A1,A2,A3,A4)、B(B5,B6,B7,B8)、C(C9,C10,C11,C12)
第一次称量:
把A组放天平左边,B组放天平右边。出现三种情况: A=B,A>B,A<B如果相等:A=B
如果A=B,说明劣质球在C中。天平左边把A4拿掉,左边剩下(A1,A2,A3)三个,右边换成(C1,C2,C3)三个,如果相等,则说明C4劣质球,问题解决。如果不相等:分为(左边重,右边轻;和左边轻,右边重)两种情况:如果天平左边重,右边轻:
则说明劣质球为轻。然后进行第三次称量:将C1放天平左边,C2放天平右边,如果相等,则说明劣质球为C3。如果不相等,则说明轻的那一边为劣质球,问题解决。如果天平左边轻,右边重:
说明劣质球为重。然后进行第三次称量:将C1放天平左边,C2放天平右边,如果相等则说明劣质球为C3,如果不相等,则说明重的那一边为劣质球,问题解决。如果不等:A>B
如果第一次称量时A>B,这时可判断C组为标准的球。则用天平右边的B6,B7,B8替换天平左边的A2,A3,A4。这时天平左边是(A1,B6,B7,B8),然后用C9,C10,C11补上天平右边的空缺,使天平右边变为(B5,C9,C10,C11)。进行第二次称量:如果天平左右两边相等:
(A1,B6,B7,B8)=(B5,C9,C10,C11)则说明劣质球在A2,A3,A4中,并且由第一次称量可推出劣质球是重的。所以,把A2放天平左边,A3放天平右边进行第三次称量:如果A2>A3则说明A2是劣质球,问题解决。如果A2<A3则说明A3为劣质球,问题解决。如果A2=A3则说明A4为劣质球,问题解决。如果天平左边重,右边轻:
(A1,B6,B7,B8)>(B5,C9,C10,C11)则说明劣质球是A1或者B5,且可以得出推论:(A1,B6,B7,B8)>(B5,C9,C10,C11)则说明A1或A5是劣质球。如果A1是劣质球的话,说明劣质球是重的;如果B5是劣质球的话,说明劣质球是轻的。接下来进行第三次称量:把A1放天平左边,拿一个标准的放天平右边比如C9,现在天平左边是A1,右边是C9,如果A1=C9,则说明B5为劣质球,比标准的球轻,问题解决。
如果A1>C9,则说明A1为劣质球,比标准球重,问题解决。
如果天平左边轻,右边重:
如果(A1,B6,B7,B8)<(B5,C9,C10,C11)则说明劣质球在B6,B7,B8中,且劣质球为轻的。接下来进行第三次称量:把B6放天平左边,B7放天平右边,现在天平左边是B6,右边是B7,如果B6=B7,则说明B8为劣质球,问题解决。如果B6>B7,则说明B7为劣质球,问题解决。如果B6<B7,则说明B6为劣质球,问题解决。