一、
漢諾塔問題
1遞迴法:
# include
# include
void move(int n,char a,char b,char c)
else
}int main()
結果:
法二:新增了移動次數
# include
# include
//列印出每一步的路徑
void move(char a,char c)
void hanoi(int n,char a,char b,char c,int *time)
}int main()
結果:
2、非遞迴
# include
# include
# define max 10 //棧的最大深度
int c=1;//表示目前移動步數
struct hanoi;
void move(char a,char n,char b)//移動函式,表示把某個盤從某根針移動到另一根針
void hanoi(int n,char a,char b,char c)//遞迴
else
}void push(struct hanoi *p,int top,char a,char b,char c,int n)
void unreverse_hanoi(struct hanoi *p)//非遞迴
if(p[top].n==1)
if(top>=0)}}
int main()
二、殘缺棋盤
tr子棋盤左上角方格所在行
tc子棋盤左上角方格所在列
dr殘缺方塊所在行
dc殘缺方塊所在列
size棋盤的行數或列數
# include
# include
int amount=0,board[100][100];
void cover(int tr,int tc,int dr,int dc,int size)
else if(dr=tc+s)
else if(dr>=tr+s && dc
else if(dr>=tr+s && dc>=tc+s)
}void outputboard(int size)
}void main()
結果
python 漢諾塔 Python漢諾塔
import turtle class stack def init self self.items def isempty self return len self.items 0 def push self,item def pop self return self.items.pop def ...
漢諾塔和函式
mylist 10,12 chang mylist print 函式外取值 mylist 結果 函式內取值 10,12,3,4 函式外取值 10,12,3,4 2 文件字串 help 是python中內建函式,通過help 函式可以查詢python中函式的用法 在定義函式時,可以在函式內部編寫文件字...
漢諾塔合集之漢諾塔3
漢諾塔3 步驟分析 1.當只有乙個圓盤時,要從a到b再到c 2.同樣擴充套件經典漢諾塔問題來看,先把a柱上 n 1 個圓盤,經b移動到c 3.把最後乙個圓盤從a移動到b 4.把c柱上的 n 1 個圓盤,經b移動 移回 到a 5.把b上的最後乙個圓盤從b移到c 6.最後把a上的 n 1 個圓盤經過b移...