题型:综合题 题类:模拟题 难易度:困难
浙江省普通高校招生信息技术选考模拟卷(五)
图1
输入火柴棍的数量n(n≤24),计算可以拼出多少个“A+B=C”的等式?要求:
① 加号与等号各自需要两根火柴棍。
② A、B、C为非负的整数,且该数非零时,最高位不能是0。
③ 如果A≠B,则A+B=C 与B+A=C 视为不同的等式。
④ n 根火柴棍必须全部用上。
小明发现,数字1用的火柴棍最少,24根火柴棍全部用上的话,能拼出最大的整数A或B不超过1111,C不超过2222。他编写了一个VB 程序,在文本框Text1中输入火柴棍的数量,单击“统计”按钮Command1,在文本框Text2中输出“A+B=C”的方案数,程序界面如图2所示。
图2
实现上述功能的VB程序如下,请回答下列问题:
Private Sub Command1_Click()
Dim a(0 To 2222) As Integer '存储每个整数需用的火柴棍数
Dim n As Integer, ans As Integer
Dim i As Integer, j As Integer
n = Val(Text1.Text)
For i = 0 To 2222
a(i) = 0
Next i
'得到0~9 中每个数字需用的火柴棍数
a(0) = 6: a(1) = 2: a(2) = 5: a(3) = 5: a(4) = 4
a(5) = 5: a(6) = 6: a(7) = 3: a(8) = 7: a(9) = 6
n = '去掉等号与加号后,剩余的火柴棍数量
For i = 10 To 2222 '计算出10~n 中每个数字需用的火柴棍数
a(i) = a() + a(i Mod 10)
Next i
ans = 0
'枚举0~n 中任意两个数,判断~否符合A+B=C 的火柴棍数量
For i = 0 To 1111
For j = 0 To 1111
If a(i) + a(j) + a() = n Then
ans = ans + 1
End If
Next j
Next i
Text2.Text = Str(ans)
End Sub
试题篮