1. 程式人生 > 實用技巧 >漢諾塔//河內塔(Tower of Hanoi)

漢諾塔//河內塔(Tower of Hanoi)

#漢諾塔//河內塔(Tower of Hanoi)
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

#include<#iostream>
using namespace std;
static int index = 0;
void hanuota(int n, char a, char b, char c) {
if (n == 1) {
printf(“將%d編號的%c直接移動到%c\n”, n, a, c);
}
else {
hanuota(n - 1, a, c, b);
printf(“將%d編號的%c直接移動到%c\n”, n, a, c);
hanuota(n - 1, b, a, c);
}
index++;

}
int main()
{
char a = ‘A’, b = ‘B’, c = ‘C’;//表示A、B、C三根柱子
int n;
printf(“請輸入A柱子上盤子的個數:”);
cin >> n;//最開始盤子都在A柱子上,n表示由使用者自己輸入A柱子上盤子的個數
hanuota(n, a, b, c);
printf("%d", index);//輸出盤子總共移動的次數
return 0;
}