
设定12个球分三组,每组4个,取名A1234、B1234、C1234。
第一次:A与B称:
If(A=B) 坏球在C 转到 第二次
第二次:取C的三个球C3与A的三个A3球称:
If(C123=A123)C4是坏球,转到第三次
第三次:取A1与C4称
If(A1>C4)坏球是轻的
Else 坏球是重的 end
Else if(C123>A123)坏球为重 转到第三次
第三次: 取C1与C2称
If(C1>C2)C1为坏球
Else if(C1=C2)C3为坏球
Else C2为坏球 end
Else if(A>B) 坏球在A或者B上且A比B重, 转到第二次
第二次:取A123B1与C123A4 称//这是关键算法
If(A123B1=C123A4)坏球在B234中,且为轻。转到第三次
第三次:取B2与B3称
If(B2>B3)B3为坏球
Else If(B2<B3)B2为坏球
Else B4为坏球 end
Else if(A123B1<C123A4)坏球为B1或者A4 转到第三次
第三次:取C1与B1称
If(C1>B1)坏球为B1且为轻
Else 坏球为A4 且为重 end
Else if(A123B1>C123A4)坏球在A123且为重,转到第三次
第三次:取A1与A2称
If(A1>A2)坏球为A1
Else if(A1<A2)坏球为A2
Else 坏球为A3 end
Else if(A<B)令 A与B变量对换,同上分析。















