写一个笨方法,大家批评~~
偶的假设:
正品重量相等,次品与正品只在重量上有差别
对球从1 ~ 15依次做标记(不增减重量)
偶的变量描述:
A: 天平左托盘放入球的集合
B: 天平右托盘放入球的集合
A(1 ~ 5):表示天平左托盘放入球1,2,3,4,5
偶的称量方法:
Step1:第一次称 --> A(1 ~ 5)、B(6 ~ 10)称
if 天平平衡,则1 ~ 10为正品,第二次称 --> A(11,1)、B(12,13)称
if 天平平衡,则11 ~ 13为正品,第三次称 --> A(1)、B(14)称(可判断了)
else 11 ~ 13含次品,第三次称 --> A(11,12)、B(1,2)称
if 天平状态不变,11为次品
else if 天平平衡,13为次品
else(天平轻重状态反转),12为次品
end program
else 1 ~ 10含次品,goto Step2
Step2:第二次称 --> A(1,2,8,9)、B(6,7,3,11)称
if 天平平衡
则次品在4、5、10中,第三次称 --> A(4)、B(5)称(可判断了)
else if 天平轻重状态反转
则次品在3、8、9中,第三次称 --> A(8)、B(9)称(可判断了)
else(天平状态不变)
则次品在1、2、6、7中,第三次称 --> A(1,6)、B(2,11)称
if 天平状态不变,1为次品
else if 天平平衡,7为次品
else(天平轻重状态反转),2或6为次品,再由以前天平状态判断2、6谁是次品
|