Sub aaa()
Dim X%, Y%, Z%
For X = 1 To 50
For Y = 1 To (50 - X)
Z = 50 - X - Y
If X * 440 + Y * 220 + Z * 100 = 8400 Then
MsgBox "x=" & X & Chr(13) & "y=" & Y & Chr(13) & "z=" & Z
exit sub
End If
Next
Next
End Sub
很简单的逻辑 这图画的什么鬼都不知道
x 卧铺
y 一等座
z 二等座
卧铺从 1 到 50
如果要精简算法 那就是 1 到 19 就是int(8400/440)
y 就是 1 to 50-x 之间的数字
z 就是 50-x-y
然后走循环 当 加起来 等于8400的时候 msgbox x y z之后 退出程序
如果有多解, 那么去掉 exit sub即可。