问题描述:
问题如标题,一道逻辑题,不是脑筋急转弯之类的
解决方法:
首先分为三组,每组4个,分别为:
A组:A1,A2,A3,A4
B组:B1,B2,B3,B4
C组:C1,C2,C3,C4
操作:A和B称
1. A=B
分析:坏球一定在C组中,A和B中都是标准球
操作:随便选三个与C组中的C1~C3称,不妨用A1~A3
1.1. (C1~C3)=(A1~A3)
分析:坏球一定是C4,拿一标准球与之称
操作: A1和C4称
1.1.1. A1=C4
分析:这种情况是不可能的
1.1.2. A1<C4
分析:C4是坏球,更重
1.1.3. A1>C4
分析:C4是坏球,轻
1.2. (C1~C3)<(A1~A3)
分析:坏球在C1到C3中,更轻
操作: 在三个球中找出更轻的球只需称一次
1.3. (C1~C3)>(A1~A3)
分析:坏球在C1到C3中,更重
操作: 在三个球中找出更重的球只需称一次
2. A<B
分析:坏球可能在A组中,也可能在B组中,如果在A组中,那么坏球肯定是更轻的,如果在B组中,肯定是更重的,这一步确定哪个是坏球,是更轻还是更重需要特殊的操作。但是容易看出C组中都是标准球。
操作:将(A1~A3,B1)与(A4,C1~C3)称
2.1. (A1~A3,B1)=(A4,C1~C3)
分析:这些都是标准球,坏球在B2~B4中,是更重的球
操作: 在三个球中找出更重的球只需称一次
2.2. (A1~A3,B1)<(A4,C1~C3)
分析:出现这种情况只能是因为A4更重
2.3. (A1~A3,B1)>(A4,C1~C3)
分析:坏球更重,在A1~A3中
操作: 在三个球中找出更重的球只需称一次
3. A>B
分析:和1.2其实是相同的情况,操作类似
总结:
这种逻辑题的解决方法基本上就是穷举,技巧就是照着最可能解决问题的方向去想,已经被证明不行的方向就不在去想,也不一定总是有解
拓展:
编程求出在n(n>3)个球中有一个重量异常,求最少需要称几次可以找出是哪个球是坏球,坏球是更轻还是更重,(笔者菜鸡,所以不会,这个也只是笔者随便一个想法而已)