漢諾塔的 C 語言程式
漢諾塔是一個數學遊戲。它包括三個柱子和一些不同大小的圓盤,這些圓盤可以滑到任何一個柱子上。遊戲開始時,圓盤按大小順序整齊地疊放在一個柱子上,最小的圓盤在最上面。我們需要將這些圓盤移動到第三個柱子上,使其保持相同的順序。
遊戲的目標是將整個圓盤堆疊移動到另一個柱子上,遵循以下簡單規則:
每次只能移動一個圓盤。
每次移動都包括從一個堆疊的頂部取下最上面的圓盤,並將其放在另一個堆疊的頂部,也就是說,只有當圓盤位於堆疊的最上面時才能移動它。
任何圓盤都不能放在比它小的圓盤上面。
示例
輸入 - 3
輸出 - A 到 B
A 到 C
B 到 C
A 到 B
C 到 A
C 到 B
A 到 B 解釋 - 使用遞迴函式並解決漢諾塔問題。
示例
#include<stdio.h>
void TOH(int n,char x,char y,char z) {
if(n>0) {
TOH(n-1,x,z,y);
printf("
%c to %c",x,y);
TOH(n-1,z,y,x);
}
}
int main() {
int n=3;
TOH(n,'A','B','C');
}輸出
A to B A to C B to C A to B C to A C to B A to B
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP