一道面试题:三次称量判断十二个球中一个劣质球的解法

有十二个球,大小形状相同,其中有一个是劣质球,或轻或重无法用感觉判断,现有一无刻度的天平,请用三次称量确定那个劣质球。这个问题应该这样解决了吧。从昨晚到现在一直在想这个问题,现在终于想明白了,应该不会有错了吧?如果有错的话欢迎指正啊!一起探讨。这个问题是我在csdn论坛上看到的一道java面试的题目。刚开始也是想的很简单,可是后来就发现其实不简单,然后有从网上找的,有问同学的,现在终于解决了。下面是我写的解答:
 
假设分三个组,每组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为劣质球,问题解决。
 

如果不等:A<B

A<B的情况跟A>b的情况差不多。都一样,你们自己推吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值