如图1所示,这是一个城市街道简图,小明从 A 点出发,到达 B 点,如果在每一个路口只能向右或向上走(0 表示向上走,1 表示向右走),问小明有多少条行走路线,并请输出每条路线。程序界面如图2所示。
算法分析:从A点到B点共有7个路口,即可以有一个7位二进制数表示所走路线。观察以上路线,枚举所有满足路线特征的7位二进制数,再去掉不满足的二进制数即可。
(1)
图1所示路线对应的十进制数为。
(2)
实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim b As String, t As Integer,
i As Integer, c As Integer, d As Integer
t = 0 '可走路线计数
For i = 15 To 120 '所有可走路线用十进制枚举
d = i
c = 0
b = ""
Do While d <> 0
If d Mod 2 = 1 Then
b = "1" + b
c = c + 1
If c > 4 Then Exit Do '若"1"的总数超过 4 个表示路线错误,需退出 Do 循环
Else
①
End If
②
Loop
If c = 4 And Len(b) = 7 Then
t = t + 1
List1.AddItem b
End If
Next i
Label1.Caption = Str(t) +
" 条"
End Sub
① ②
答案: 【1】105
【1】b = "0" + b【2】d = d \ 2