用VB编写程序,将一张100元钞票兑换成面值为20元、10元和5元的钞票,

要求每种至少有1张,共有多少中不同的换法?请输出所有可能的换法。
最后一个问题了,我把财富值全给你了,别不帮我哈,真的很谢谢你

这样设置不同的四个数 都可以计算出来
a=20
b=10
c=5
d=100
for i=1 to int(D/A)
FOR M=1 TO INT((D-A*i)/b)
for n=1 to int(((D-A*i)-b*M)/C)
if c*n=(D-A*i)-b*M then
STR=str & "方案:" & a & "(" & i & "张)-" & b & "(" & m & "张)-" & c & "(" & n & "张)。"
end if
next
NEXT
next

STR就是需要的方案
运行后结果是:

方案:20(1张)-10(1张)-5(14张)。
方案:20(1张)-10(2张)-5(12张)。
方案:20(1张)-10(3张)-5(10张)。
方案:20(1张)-10(4张)-5(8张)。
方案:20(1张)-10(5张)-5(6张)。
方案:20(1张)-10(6张)-5(4张)。
方案:20(1张)-10(7张)-5(2张)。
方案:20(2张)-10(1张)-5(10张)。
方案:20(2张)-10(2张)-5(8张)。
方案:20(2张)-10(3张)-5(6张)。
方案:20(2张)-10(4张)-5(4张)。
方案:20(2张)-10(5张)-5(2张)。
方案:20(3张)-10(1张)-5(6张)。
方案:20(3张)-10(2张)-5(4张)。
方案:20(3张)-10(3张)-5(2张)。
方案:20(4张)-10(1张)-5(2张)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-24
Private Sub Command1_Click()
a = Val(Text1.Text)
Dim b(7)
b(0) = Int(a / 100)
b(1) = Int((a - 100 * b(0)) / 50)
b(2) = Int((a - 100 * b(0) - 50 * b(1)) / 20)
b(3) = Int((a - 100 * b(0) - 50 * b(1) - 20 * b(2)) / 10)
b(4) = Int((a - 100 * b(0) - 50 * b(1) - 20 * b(2) - 10 * b(3)) / 5)
b(5) = Int((a - 100 * b(0) - 50 * b(1) - 20 * b(2) - 10 * b(3) - 5 * b(4)) / 2)
b(6) = Int((a - 100 * b(0) - 50 * b(1) - 20 * b(2) - 10 * b(3) - 5 * b(4) - 2 * b(5)) / 1)
b(7) = Int((a - 100 * b(0) - 50 * b(1) - 20 * b(2) - 10 * b(3) - 5 * b(4) - 2 * b(5) - 1 * b(6)) / 0.1)
Me.Print b(0); "张100元的"
Me.Print b(1); "张50元的"
Me.Print b(2); "张20元的"
Me.Print b(3); "张10元的"
Me.Print b(4); "张5元的"
Me.Print b(5); "张2元的"
Me.Print b(6); "张1元的"
Me.Print b(7); "张1角的"
End Sub