EXCEL中求解:例如:11*A+21*B+31*C+41*D+51*E=500(求和接近500即可),如何找出符合ABCDE的各种组合?其中ABCD为自然数.实际问题是这样的:单次发货固定总金额为500元,现有200种价格不同产品进行搭配发
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/11 05:47:01
![EXCEL中求解:例如:11*A+21*B+31*C+41*D+51*E=500(求和接近500即可),如何找出符合ABCDE的各种组合?其中ABCD为自然数.实际问题是这样的:单次发货固定总金额为500元,现有200种价格不同产品进行搭配发](/uploads/image/z/2717387-35-7.jpg?t=EXCEL%E4%B8%AD%E6%B1%82%E8%A7%A3%EF%BC%9A%E4%BE%8B%E5%A6%82%EF%BC%9A11%2AA%2B21%2AB%2B31%2AC%2B41%2AD%2B51%2AE%3D500%28%E6%B1%82%E5%92%8C%E6%8E%A5%E8%BF%91500%E5%8D%B3%E5%8F%AF%29%2C%E5%A6%82%E4%BD%95%E6%89%BE%E5%87%BA%E7%AC%A6%E5%90%88ABCDE%E7%9A%84%E5%90%84%E7%A7%8D%E7%BB%84%E5%90%88%3F%E5%85%B6%E4%B8%ADABCD%E4%B8%BA%E8%87%AA%E7%84%B6%E6%95%B0.%E5%AE%9E%E9%99%85%E9%97%AE%E9%A2%98%E6%98%AF%E8%BF%99%E6%A0%B7%E7%9A%84%EF%BC%9A%E5%8D%95%E6%AC%A1%E5%8F%91%E8%B4%A7%E5%9B%BA%E5%AE%9A%E6%80%BB%E9%87%91%E9%A2%9D%E4%B8%BA500%E5%85%83%2C%E7%8E%B0%E6%9C%89200%E7%A7%8D%E4%BB%B7%E6%A0%BC%E4%B8%8D%E5%90%8C%E4%BA%A7%E5%93%81%E8%BF%9B%E8%A1%8C%E6%90%AD%E9%85%8D%E5%8F%91)
EXCEL中求解:例如:11*A+21*B+31*C+41*D+51*E=500(求和接近500即可),如何找出符合ABCDE的各种组合?其中ABCD为自然数.实际问题是这样的:单次发货固定总金额为500元,现有200种价格不同产品进行搭配发
EXCEL中求解:例如:11*A+21*B+31*C+41*D+51*E=500(求和接近500即可),如何找出符合ABCDE的各种组合?
其中ABCD为自然数.
实际问题是这样的:单次发货固定总金额为500元,现有200种价格不同产品进行搭配发货(单价均低于500),求符合条件的各种组合.
EXCEL中求解:例如:11*A+21*B+31*C+41*D+51*E=500(求和接近500即可),如何找出符合ABCDE的各种组合?其中ABCD为自然数.实际问题是这样的:单次发货固定总金额为500元,现有200种价格不同产品进行搭配发
用VBA编程,例如在一个空白表编制如下命令按钮程序(我使用的是2007版,运行约45秒):
Private Sub CommandButton1_Click()
Const zj = 500
Dim dj2 As Double,dj3 As Double,dj4 As Double,dj5 As Double,dj6 As Double,s As Double
Dim i2 As Integer,i3 As Integer,i4 As Integer,i5 As Integer,i6 As Integer,j As Integer
Range("A:XFD").ClearContents
Range("A1:B1") = Array("品名","单价")
Range("A2:B2") = Array("A",11)
Range("A3:B3") = Array("B",21)
Range("A4:B4") = Array("C",31)
Range("A5:B5") = Array("D",41)
Range("A6:B6") = Array("E",51)
dj2 = Range("B2")
dj3 = Range("B3")
dj4 = Range("B4")
dj5 = Range("B5")
dj6 = Range("B6")
j = 3
For i6 = 0 To zj \ dj6
For i5 = 0 To (zj - dj6 * i6) \ dj5
For i4 = 0 To (zj - dj6 * i6 - dj5 * i5) \ dj4
For i3 = 0 To (zj - dj6 * i6 - dj5 * i5 - dj4 * i4) \ dj3
Cells(3,j) = i3
Cells(4,j) = i4
Cells(5,j) = i5
Cells(6,j) = i6
s = dj3 * i3 + dj4 * i4 + dj5 * i5 + dj6 * i6
i2 = Round((zj - s) / dj2,0)
Cells(2,j) = i2
Cells(7,j) = dj2 * i2 + s
j = j + 1
Next i3
Next i4
Next i5
Next i6
部分计算结果如下:
品名\x05单价\x05\x05\x05\x05\x05\x05\x05\x05
A\x0511\x0545\x0544\x0542\x0540\x0538\x0536\x0534\x0532
B\x0521\x050\x051\x052\x053\x054\x055\x056\x057
C\x0531\x050\x050\x050\x050\x050\x050\x050\x050
D\x0541\x050\x050\x050\x050\x050\x050\x050\x050
E\x0551\x050\x050\x050\x050\x050\x050\x050\x050
\x05\x05495\x05505\x05504\x05503\x05502\x05501\x05500\x05499