C语言解决汉诺塔问题
生活随笔
收集整理的這篇文章主要介紹了
C语言解决汉诺塔问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
漢諾塔
一位法國數學家曾編寫過一個印度的古老傳說:在世界中心貝拿勒斯的圣廟里,一塊黃銅板上插著三根寶石針。印度教的主神梵天在創造世界的時候,在其中一根針上從下到上地穿好了由大到小的64片金片,這就是所謂的漢諾塔。不論白天黑夜,總有一個僧侶在按照下面的法則移動這些金片:一次只移動一片,不管在哪根針上,小片必須在大片上面
#include <stdio.h>// 將 n 個盤子從 x 借助 y 移動到 z void move(int n, char x, char y, char z) {if (1 == n){printf("%c-->%c\n", x, z);}else{move(n - 1, x, z, y); // 將 n-1 個盤子從 x 借助 z 移到 y 上printf("%c-->%c\n", x, z); // 將 第 n 個盤子從 x 移到 z 上move(n - 1, y, x, z); // 將 n-1 個盤子從 y 借助 x 移到 z 上} }int main() {int n;printf("請輸入漢諾塔的層數: ");scanf("%d", &n);printf("移動的步驟如下: \n");move(n, 'X', 'Y', 'Z');return 0; }總結
以上是生活随笔為你收集整理的C语言解决汉诺塔问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源大数据平台的安全实践
- 下一篇: 作者:杨婧(1983-),女,博士,中国