導航:首頁 > 編程語言 > 用vb編寫漢諾塔程序的代碼

用vb編寫漢諾塔程序的代碼

發布時間:2024-11-15 18:25:57

A. vb漢諾塔程序設計代碼

Option Explicit
Private Sub hanoi(n As Integer, one As String, two As String, three As String)
If n = 1 Then
Print Tab(5); one; "------->"; three
Else
Call hanoi(n - 1, one, three, two)
Print Tab(5); one; "------->"; three
Call hanoi(n - 1, two, one, three)
End If
End Sub
Private Sub Form_Click()
Dim x As Integer
x = Val(InputBox("請輸入圓盤的個數"))
Print Tab(5); "將" & x & "個圓盤從A柱移到C柱的移動順序為"
Call hanoi(x, "A", "B", "C")
End Sub

B. 漢諾塔問題VB遞歸演算法實現

碟子移動規則如下:
1. 如果碟子總數為奇數,則首先將最小碟子(編號為1)移動到3號柱上;如果碟子總數為偶數,則移動到2號柱上。
2. 然後檢查3號柱是否已放滿碟子。若未滿,則重復步驟1直至所有碟子正確放置。
3. 下次移動的碟子根據前一個移動碟子編號的奇偶性來確定:
- 若前一個移動碟子編號為偶數,則本次移動的目標柱與上次相同,來源柱變改。
- 若前一個移動碟子編號為奇數,則本次移動的目標柱不變,比較另外兩柱子上碟子編號。將較小的碟子移動到較大的碟子上。若其中一柱無碟,將另一柱最上層碟子移動給它。

C. 關於漢諾塔問題的盡可能多的信息

漢諾塔
漢諾塔(又稱河內塔)問題是印度的一個古老的傳說。開天闢地的神勃拉瑪在一個廟里留下了三根金剛石的棒,第一根上面套著64個圓的金片,最大的一個在底下,其餘一個比一個小,依次疊上去,廟里的眾僧不倦地把它們一個個地從這根棒搬到另一根棒上,規定可利用中間的一根棒作為幫助,但每次只能搬一個,而且大的不能放在小的上面。解答結果請自己運行計算,程序見尾部。面對龐大的數字(移動圓片的次數)18446744073709551615,看來,眾僧們耗盡畢生精力也不可能完成金片的移動。

後來,這個傳說就演變為漢諾塔游戲:

1.有三根桿子A,B,C。A桿上有若干碟子
2.每次移動一塊碟子,小的只能疊在大的上面
3.把所有碟子從A桿全部移到C桿上

經過研究發現,漢諾塔的破解很簡單,就是按照移動規則向一個方向移動金片:
如3階漢諾塔的移動:A→C,A→B,C→B,A→C,B→A,B→C,A→C

此外,漢諾塔問題也是程序設計中的經典遞歸問題。

補充:漢諾塔的演算法實現(c++)
#include <fstream>
#include <iostream>
using namespace std;

ofstream fout("out.txt");

void Move(int n,char x,char y)
{
fout<<"把"<<n<<"號從"<<x<<"挪動到"<<y<<endl;
}

void Hannoi(int n,char a,char b,char c)
{
if(n==1)
Move(1,a,c);
else
{
Hannoi(n-1,a,c,b);
Move(n,a,c);
Hannoi(n-1,b,a,c);
}
}

int main()
{
fout<<"以下是7層漢諾塔的解法:"<<endl;
Hannoi(7,'a','b','c');
fout.close();
cout<<"輸出完畢!"<<endl;
return 0;
}

如果你的機子足夠快,硬碟160G以上的化,可以把以上的程序改成64,運行完畢就是64漢諾塔的解法了。

閱讀全文

與用vb編寫漢諾塔程序的代碼相關的資料

熱點內容
網路連接項目有哪些 瀏覽:253
系統備份鏡像文件備份放到哪裡 瀏覽:207
intelx58超頻教程 瀏覽:590
在驅動器查找文件在哪裡 瀏覽:15
pdf文件轉換word時亂碼 瀏覽:474
紅色警戒3沒有mod文件夾 瀏覽:587
企業服務代辦平台App有哪些 瀏覽:103
桌面一個文件夾打不開 瀏覽:503
js設定日期 瀏覽:893
qq如何文件 瀏覽:159
win10游戲模式在那裡 瀏覽:60
烏蘇里船歌女聲版本 瀏覽:942
數控銑t型槽怎麼編程 瀏覽:36
我的世界win10合成表 瀏覽:410
ai怎麼導小文件pdf 瀏覽:345
多益網路怎麼通過 瀏覽:350
編程scratch軟體怎麼下載 瀏覽:595
json事件都有那些 瀏覽:566
excel宏編程如何修改內容 瀏覽:533
微信仿款車 瀏覽:350

友情鏈接