PowerPoint 演示文稿

例 4.18 实际应用，求最短残料。
有一根长度为321米的钢材料，要将它截取成两种规格a、b的长度分别为17米和27米的短料，每种至少1段，问分隔成a，b各多少段后，剩余的残料r最少？
分析，该题利用“试凑法”通过二重循环求残料r的最小值正数，残料不可能是负数。程序如下：
Private Sub Command1_Click()
Dim a%, b%, r!, ia%, ib%
r = 321 ‘ 最小值初值取钢材料的长度
For b = 1 To 321 \ 27 ‘ b最多的段数
For a = 1 To 321 \ 17 - b ‘ a最多的段数
t = 321 - b * 27 - a * 17 ‘ 当前的残料
If t > 0 And t < r Then
r = t ‘ 求最短的残料
ia = a ‘ 最短残料时a的段数
ib = b ‘ 最短残料时b的段数
End If
Next a
Next b
Print ia, ib, r
End Sub