火柴算术游戏,给定n(n<=24)根火柴,恰好用尽n根火柴拼凑出A+B=C形式的算式,问一共有多少种可行方案,请输出方案的总数,已知0~9每个数字所需的火柴根数如下表所示:注意:⑴其中A+B=C 等式中的“+”“=”需要用去4根火柴。
⑵0+4=4与4+0=4算作一种方案。
例如n=18,符合条件的算式共有5个:0+4=4,0+11=11,1+10=11,2+2=4,2+7=9。
小明设计了一个程序,在Text1中输入火柴数量,单击“计算”按钮,在Label1中输出总的可行方案数,并在List1中输出所有可行的算式。
程序代码如下,加框处代码有误,请修改。
Dim s(0 To 9) As Integer
Private Sub Command1_Click()
Dim n As Integer, a As Integer, b As Integer, count As Integer
count=0
n=Val(Text1.Text)
For a=0 To 999 Step 1
For b=a To 999 Step 1
If Then '①{#blank#}1{#/blank#}
List1.AddItem Str(a)+"+"+Str(b)+"="+Str(a+b)
count=count+1
End If
Next b
Next a
Label2.Caption="共"+Str(count)+"种方案"
End Sub
Function gs(ByVal x As Integer) As Integer
Dim tmp As Integer
tmp=0
If x=0 Then tmp=s(0)
Do While x > 0
'②{#blank#}2{#/blank#}
x=x \ 10
Loop
gs=tmp
End Function
Private Sub Form_Load()
s(0)=6: s(1)=2: s(2)=5: s(3)=5: s(4)=4
s(5)=5: s(6)=6: s(7)=3: s(8)=7: s(9)=6
End Sub