A = A1 + A2 + A3 + A4 B = B1 + B2 + B3 + B4 C = C1 + C2 + C3 + C4//比较1: A与B if A = B then //比较2: C1+C2 与 C3+A1 if C1 + C2 = C3 + A1 then //异球为C4 //比较3: C4 与 A1 if C4 > A1 then //C4 重 else //C4 轻 end if elsif C1 + C2 > C3 + A1 then //异球为 (C1或C2)重或C3轻 //比较3: C1 与 C2 if C1 = C2 then //C3 轻 elsif C1 > C2 then //C1 重 elsif C1 < C2 then //C2 重 end if elsif C1 + C2 < C3 + A1 then //异球为 (C1或C2)轻或C3重 //比较3: C1 与 C2 if C1 = C2 then //C3 重 elsif C1 > C2 then //C2 轻 elsif C1 < C2 then //C1 轻 end if end if elsif A > B then //比较2: A1+A2+B1 与 A3+B2+C1 if A1+A2+B1 = A3+B2+C1 then //异球为 A4重或(B3或B4)轻 //比较3: B3 与 B4 if B3 = B4 then //A4 重 elsif B3 > B4 then //B4 轻 elsif B3 < B4 then //B3 轻 end if elsif A1+A2+B1 > A3+B2+C1 then //异球为 (A1或A2)重或B2轻 //比较3: A1 与 A2 if A1 = A2 then //B2 轻 elsif A1 > A2 then //A1 重 elsif A1 < A2 then //A2 重 end if elsif A1+A2+B1 < A3+B2+C1 then //异球为 A3重或B1轻 //比较3: A3 与 C1 if A3 = C1 then //B1 轻 else //A3 重 end if end if elsif A < B then //比较2: A1+A2+B1 与 A3+B2+C1 if A1+A2+B1 = A3+B2+C1 then //异球为 A4轻或(B3或B4)重 //比较3: B3 与 B4 if B3 = B4 then //A4 轻 elsif B3 > B4 then //B3 重 elsif B3 < B4 then //B4 重 end if elsif A1+A2+B1 > A3+B2+C1 then //异球为 A3轻或B1重 //比较3: A3 与 C1 if A3 = C1 then //B1 重 else //A3 轻 end if elsif A1+A2+B1 < A3+B2+C1 then //异球为 (A1或A2)轻或B2重 //比较3: A1 与 A2 if A1 = A2 then //B2 重 elsif A1 > A2 then //A2 轻 elsif A1 < A2 then //A1 轻 end if end if end if
1.1 天平平衡 则坏球在第三组里。
定义1: 坏球在ABCD中,好球为xxxx xxxx
1.2 天平不平衡
定义2:重的一组为ABCD 轻的一组为abcd 标准球为xxxx
推论1:ABCD的重量>=标准球x
推论2:abcd的重量<=标准球x对于结果1.1:
第二次将AB放左边,xx放右边,产生如下结果:
1.1.1 天平平衡 则坏球在CD中
1.1.2 天平不平衡 则坏球在AB中,根据天平的倾斜角度得知坏球的轻重。
对于结果1.1.1:
第三次将C放左边,x放右边,产生如下结果:
1.1.1.1 天平平衡 则坏球为D但不知道轻重。(这是唯一不知道轻重的情况)
1.1.1.2 天平不平衡 则坏球为C 可以知道坏球的轻重。
对于结果1.1.2
第三次将A放左边,x放右边,产生如下结果:
1.1.2.1 天平平衡 则坏球为B 根据1.1.2知道轻重。
1.1.2.2 天平不平衡 则坏球为A 可以知道轻重。对于结果1.2:(这时要用到推论1和推论2)
第二次将ABa放左边,Cbx放右边 产生如下结果:
1.2.1 天平平衡 则坏球在Dcd中
1.2.2 天平左轻右重 则根据推论得知坏球在aC中
1.2.3 天平左重右轻 则根据推论得知坏球在ABc中 对于结果1.2.1:
第三次将Dd放左边,xx放右边。得到结果如下:
1.2.1.1天平平衡 则坏球为c,轻。
1.2.1.2天平左轻右重 则根据推论得知坏球为d,轻。
1.2.1.3天平左重右轻 则根据推论得知坏球为D,重。
对于结果1.2.2:
第三次将aC放左边,xx放右边。得到结果如下:
1.2.2.1天平左轻右重 则根据推论得知坏球为a,轻。
1.2.2.2天平左重右轻 则根据推论得知坏球为C,重。
对于结果1.2.3:
第三次将Ac放左边,xx放右边。得到结果如下:
1.2.3.1天平平衡 则坏球为B,重。
1.2.3.2天平左轻右重 则根据推论得知坏球为c,轻。
1.2.3.3天平左重右轻 则根据推论得知坏球为A,重。
B = B1 + B2 + B3 + B4
C = C1 + C2 + C3 + C4//比较1: A与B
if A = B then
//比较2: C1+C2 与 C3+A1
if C1 + C2 = C3 + A1 then //异球为C4
//比较3: C4 与 A1
if C4 > A1 then
//C4 重
else
//C4 轻
end if
elsif C1 + C2 > C3 + A1 then //异球为 (C1或C2)重或C3轻
//比较3: C1 与 C2
if C1 = C2 then
//C3 轻
elsif C1 > C2 then
//C1 重
elsif C1 < C2 then
//C2 重
end if
elsif C1 + C2 < C3 + A1 then //异球为 (C1或C2)轻或C3重
//比较3: C1 与 C2
if C1 = C2 then
//C3 重
elsif C1 > C2 then
//C2 轻
elsif C1 < C2 then
//C1 轻
end if
end if
elsif A > B then
//比较2: A1+A2+B1 与 A3+B2+C1
if A1+A2+B1 = A3+B2+C1 then //异球为 A4重或(B3或B4)轻
//比较3: B3 与 B4
if B3 = B4 then
//A4 重
elsif B3 > B4 then
//B4 轻
elsif B3 < B4 then
//B3 轻
end if
elsif A1+A2+B1 > A3+B2+C1 then //异球为 (A1或A2)重或B2轻
//比较3: A1 与 A2
if A1 = A2 then
//B2 轻
elsif A1 > A2 then
//A1 重
elsif A1 < A2 then
//A2 重
end if
elsif A1+A2+B1 < A3+B2+C1 then //异球为 A3重或B1轻
//比较3: A3 与 C1
if A3 = C1 then
//B1 轻
else
//A3 重
end if
end if
elsif A < B then
//比较2: A1+A2+B1 与 A3+B2+C1
if A1+A2+B1 = A3+B2+C1 then //异球为 A4轻或(B3或B4)重
//比较3: B3 与 B4
if B3 = B4 then
//A4 轻
elsif B3 > B4 then
//B3 重
elsif B3 < B4 then
//B4 重
end if
elsif A1+A2+B1 > A3+B2+C1 then //异球为 A3轻或B1重
//比较3: A3 与 C1
if A3 = C1 then
//B1 重
else
//A3 轻
end if
elsif A1+A2+B1 < A3+B2+C1 then //异球为 (A1或A2)轻或B2重
//比较3: A1 与 A2
if A1 = A2 then
//B2 重
elsif A1 > A2 then
//A2 轻
elsif A1 < A2 then
//A1 轻
end if
end if
end if
事实上是可以得到所有情况的重量的
你这种解法放错了球了
不应该放AB跟xx,而应该放AB跟Cx看看下面的解法:
任意拿8个球出来称,例如:1,2,3,4vs5,6,7,8,这样的结果有三个:
『1』1,2,3,4=5,6,7,8,那么坏球就应该在9,10,11,12里,这时拿这4个球里的任意三个球和前面那8个球中的任意一个球比,例如:9,10,vs11,1,这样的结果又有三个:
①9,10=11,1,那么坏球就是12,再拿任意一个球和12比,例如:1vs12,结果有两个:
a)1>12 12是轻球
b)1<12 12是重球
②9,10>11,1,那么就有可能是11是轻球,或者9和10中有一个是重球,再拿9和10比,结果有三个:
a)9=10,11是轻球。
b)9>10,9是重球。
c)9<10,10是重球。
③9,10<11,1,方法和②一样,结果有三个:
a)9=10,11是重球。
b)9<10,9是轻球。
c)9>10,10是轻球。
『2』1,2,3,4>5,6,7,8,再用任意一边的4个球加另一边的两个球比,例如:1,2,8vs3,4,7,结果有三个:
①1,2,8=3,4,7,那么就说明坏球在5和6里,而且一定是轻球,拿任意一个其他的球和5或6比,例如:1vs5,结果有两个:
a)1=5,6是轻球。
c)1>5,5是轻球。
②1,2,8<3,4,7,那么就得出坏球一定在3,4,8里,3vs4,结果有三个:
a)3=4,8是轻球。
b)3>4,3是重球。
c)3<4,4是重求。
③1,2,8>3,4,7,由此来看,8和3,4是正常球,1,2,7中的一个是坏球,1vs2,结果有三个:
a)1=2,7是轻球。
b)1>2,1是重球。
c)1<2,2是重球。
『3』1,2,3,4<5,6,7,8,方法和『2』一样。
①1,2,8=3,4,7 1vs5
a)1=5,6是重球。
b)1<5,5是重球。
②1,2,8<3,4,7 1vs2
a)1=2,7是重球。
b)1>2,1是轻球。
c)1<2,2是轻球。
③1,2,8>3,4,7 3vs4
a)3=4,8是重球。
b)3>4,4是轻球。
c)3<4,3是轻球。
现在把这十二个球分成3组,每组4个。第一次称量:任取其中2组,置于天平两边。(我们假定天平左右分别为1、2、3、4和5、6、7、8)。
称量结果情况:
情况1:天平平衡。 推断:异球在9、10、11、12中。
处理:任取9,10、11、12中3个,我们假定取9、10、11,将9,10,11与1、2、3
放在天平上称量。(第二次称量)
称量结果情况:
情况a:天平平衡。
推断:12为异球。
处理:将12与1称量,(第三次称量),即可判断异球的轻重。
情况b:天平不平衡。
推断:异球在9、10、11中,并可根据天平的倾斜,知道异球
是重是轻。(我们假定异球比较重。)
处理:取9,10来称量。(第三次称量)
情况i:天平平衡,则11为异球,且较重。
情况ii:天平不平衡,则较重的为异球。
(说明:当异球较轻时,用同样的办法可以推测。)
情况2:天平不平衡。
推断:异球在1~8中,9~12为正常球,(简称标球)现在我们假定1、2、3、4
比5、6、7、8轻,我用1、2、3、4<5、6、7、8表示。
处理:用5、6、7、代替1、2、3的天平上的位置,而9、10、11代替5、6、7天
平上的位置,即现在天平两边分别为:4、5、6、7和8、9、10、11。
球1、2、3被从天平上取下。(第二次称量)
情况a:4、5、6、7<8、9、10、11。
推断:异球在4、8中。(原因:9、10、11为标球可排除,若异球在
5、6、7中,由于5、6、7换过位置,所以第一,第二次称量结果不可能
相同,所以排除5,6,7,所以异球在4、8中)
处理:将4与12称量,(第三次称量)
情况i:天平平衡,则说明8为异球且较重。(从第二次称量结果,
可以知道异球较重。)
情况ii:天平不平衡,则可知4为异球,且较轻。(从第二次称
量结果,可以知道异球较轻。)
情况b:
4、5、6、7>8、9、10、11
推断:异球在5、6、7中,并且可知异球较重(原因:天平不平衡,9、10、
11 为标球,所以异球必在4、5、6、7、8中,由于4、8未换位置,若它们中
有异球,天平倾斜方向不会变,所以异球必在5、6、7中)
处理:取5、6来称量。(第三次称量)
情况i:天平平衡,则7为异球且偏重。
情况ii:天平不平衡,则较重的为异球。
情况c:
4、5、6、7=8、9、10、11
推断:异球在1、2、3(原因很明显,就不说了),且异球较轻,(原因:由第
一次称量可以直接知道。)
处理:将1、2称量。
情况i:天平平衡,则3为异球,且较轻。
情况ii:天平不平衡,则较轻的为异球。所有情况,都判断完成!
里面还有40个球、称4次找出坏球的方法
http://www.oursci.org/magazine/200109/010918-1.htm