如圖1所示,這是一個城市街道簡圖,小明從A點(diǎn)出發(fā),到達(dá)B點(diǎn),如果在每一個路口只 能向右或向上走(0 表示向上走,1表示向右走),問小明有多少條行走路線,并請輸出每條路線。程序界面如圖2所示。
算法分析:從A點(diǎn)到B點(diǎn)共有7個路口,即可以有一個7位二進(jìn)制數(shù)表示所走路線。觀察以上路線,枚舉所有滿足路線特征的7 位二進(jìn)制數(shù),再去掉不滿足的二進(jìn)制數(shù)即可。
(1)圖1所示路線對應(yīng)的十進(jìn)制數(shù)為
105
105
。
(2)實(shí)現(xiàn)上述功能的VB程序如下,請在橫線處填入合適的代碼。Private Sub Command1_Click ( ?。?br />Dim bAs String,t As Integer,iAs Integer,c As Integer,d AsInteger
t=0'可走路線計數(shù)
For i=15To120'所有可走路線用十進(jìn)制枚舉
d=i
c=0
b=““
Do While d<>0
If d Mod 2=1Then
b=“1“+b
c=c+1
If c>4Then Exit Do'若“1“的總數(shù)超過4個表示路線錯誤,需退出Do循環(huán) Else
①
b=“0“+b
b=“0“+b
End If
②
b=b\2
b=b\2
Loop
If c=4And Len(b)=7Then
t=t+1
List1.AddItem b End If
Next i
Label1.Caption=Str(t)+“條“End Sub