火柴算术游戏,给定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 IntegerPrivate 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 '① List1.AddItem Str(a)+"+"+Str(b)+"="+Str(a+b) count=count+1 End If Next b Next a Label2.Caption="共"+Str(count)+"种方案"End SubFunction gs(ByVal x As Integer) As Integer Dim tmp As Integer tmp=0 If x=0 Then tmp=s(0) Do While x > 0 '② x=x \ 10 Loop gs=tmpEnd FunctionPrivate 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)=6End Sub
答案:【1】gs(a)+gs(b)+gs(a+b)+4=n【2】tmp=tmp+s(x Mod 10)