火柴棒等式。用火柴棒可以摆出0-9的数字,摆放规则如下图所示:
有一种火柴棒游戏,将火柴棒摆成形如“A+B=C”的火柴棒等式。用n根火柴棒摆放数学等式的规则约定如下: ⑴A、B都是不大于1000的正整数,若数值非零,则最高位不能是0; ⑵摆放“+”与“=”各使用两根火柴棒; ⑶A+B=C 与B+A=C视为相同的等式; ⑷n根火柴棒必须全部用上。 小明依据上述规则使用VB编写程序,研究“使用n根火柴棒,可以摆放出哪些不同的等式”,代码如下所示。请回答下列问题。 Dim sz(0 To 9) As Integer ‘数组元素sz(i)用于存储数字i所使用的火柴棒的数量 Private Sub Form_Load() sz(0) = 6 : sz(1) = 2 : sz(2) = 5 : sz(3) = 5 : sz(4) = 4 sz(5) = 5 : sz(6) = 6 : sz(7) = 3 : sz(8) = 7 : sz(9) = 6 End Sub ‘自定义函数hcs用于求解摆放数字x需要使用的火柴棒数量 Function hcs(ByVal x As Integer) As Integer Dim s As Integer, k as integer s = 0 Do While ① k = x Mod 10 s=s+sz(k) x = x \ 10 Loop hcs = s + sz(x) End Function Private Sub Command1_Click() Dim n As Integer Dim a As Integer, b As Integer, c As Integer n = Val(Text1.Text) ans = 0 List1.Clear For a = 0 To 999 For b = ② To 999 c = a + b If ③ Then List1.AddItem (Str(a) + "+" + Str(b) + "=" + Str(c)) ans = ans + 1 End If Next b Next a List1.AddItem ("共有" + Str(ans) + "种等式") End Sub
(1)
请在划线处填入合适的代码。
① ② ③
(2)
某次运行程序时,显示的等式中包含“7+17=24”,根据程序分析,输入的n的值为:。
答案: 【1】x>=10【2】a【3】hcs(a)+hcs(b)+hcs(c)=n-4
【1】21