
算法概述如下:用一个二进制位表示某个位置的状态,0 表示该位置没有方块,1 表示该位置有方块,每一行的状态存储在数组 a 中。例如:图 c 第 1 行的状态为“1010101010”,则 a(1)=682,即 29 +27 +25 +23 +21 =682,根据 a(1) \ 2 ^ 1 Mod 2 的结果可判断第 1 行的第 1 列是否有方块。
(1)以图 d 为例,a(1) \ 2 ^ 4 Mod 2 的结果是____________ (填数字)。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Dim s As String
Const n = 10
Private Sub Command1_Click() ' 生成数据
Dim i As Integer, t As Integer
Randomize
s = ""
For i = 1 To n \ 2
_______ '随机生成[1,9]范围内的整数
s = s + CStr(t) ' Cstr()的作用是去掉字符串前面的空格
Next i
Text1.Text = s
End Sub
Private Sub Command2_Click() ' 开始游戏
Dim a(n) As Integer
Dim i As Integer, k As Integer, t As Integer
Dim ans As String
For i = 0 To n
a(i) = 0
Next i
For k = 1 To Len(s)
t = Val(Mid(s, k, 1))
For i = n - 2 To 0 Step -1 ' i=0 时该方块可以直接到达底部If a(i) \ 2 ^ t Mod 2 = 1 Or a(i + 1) \ 2 ^ (t - 1) Mod 2 = 1 Or i = 0 Then
_________a(i + 2) = a(i + 2) + 2 ^ t + 2 ^ (t - 1)
Exit For ' Exit For 为退出 For 循环
End If
Next iNext k
List1.Clear
ans = ""
For i = 10 To 1 Step -1
For k = 0 To 9
If a(i) Mod 2 = 1 Then
ans = "■" + ansElse
ans = " " + ansEnd If
___________
Next kList1.AddItem ans
ans = ""
Next i
End Sub

同类型试题

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2


y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

