?? 漢諾塔.frm
字號(hào):
VERSION 5.00
Begin VB.Form Form1
Caption = "漢諾塔問(wèn)題"
ClientHeight = 3960
ClientLeft = 60
ClientTop = 450
ClientWidth = 5940
LinkTopic = "Form1"
ScaleHeight = 3960
ScaleWidth = 5940
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox Text1
Height = 375
Left = 3840
MultiLine = -1 'True
TabIndex = 3
Top = 960
Width = 1095
End
Begin VB.CommandButton Command1
Caption = "計(jì)算"
Height = 375
Left = 3840
TabIndex = 2
Top = 2040
Width = 1095
End
Begin VB.ListBox List1
Height = 2940
ItemData = "漢諾塔.frx":0000
Left = 240
List = "漢諾塔.frx":0002
TabIndex = 0
Top = 360
Width = 3135
End
Begin VB.Label Label1
Caption = "輸入盤片數(shù)"
Height = 375
Left = 3840
TabIndex = 1
Top = 360
Width = 1095
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim num As Long
Sub hanoi(n As Integer, a As String, c As String, b As String) 'Hanoi過(guò)程四個(gè)參數(shù)分別是N個(gè)盤數(shù),源柱,目標(biāo)柱,幫助柱,過(guò)程的意思是將N個(gè)盤從源柱搬動(dòng)到目標(biāo)柱通過(guò)幫助柱幫助下。
If (n = 1) Then '當(dāng)只有一個(gè)盤時(shí)
num = num + 1
List1.AddItem (Str(num) + ":" + a + "->" + c) '搬動(dòng)一個(gè)盤從源柱到目標(biāo)柱
Else
Call hanoi(n - 1, a, b, c) '搬動(dòng)N-1個(gè)盤從A柱到B柱,在C柱幫助下
num = num + 1
List1.AddItem (Str(num) + ":" + a + "->" + c)
Call hanoi(n - 1, b, c, a) '搬動(dòng)N-1個(gè)盤從A柱到B柱,在C柱幫助下
End If
End Sub
Private Sub Command1_Click()
Dim n As Integer
n = Val(Text1.Text)
Call hanoi(n, "A", "C", "B") '將N個(gè)盤從源柱A柱搬動(dòng)到目標(biāo)柱C柱在幫助柱B柱幫助下
List1.AddItem ("共" + Str(num) + "次")
End Sub
Private Sub Text1_Click()
num = 0
List1.Clear
Text1.Text = ""
End Sub
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -