#include <stdio.h>
void move(int, char, char, char);
void move(int num, char from, char tmp, char to)
{
if (num == 1) {
printf("%c ==> %c\n", from, to); //我在最上层,目的地可以直接一步直达
} else {
move(num - 1, from, to, tmp); //上面的让开
printf("%c ==> %c\n", from, to); //我去我的目的地
move(num - 1, tmp, from, to);//上级可以来我身上了,咱们是一个整体
}
}
int main(void)
{
int num;
printf("Input hanoi layer number:");
scanf("%d", &num);
move(num, 'A', 'B', 'C');
}
hanoi汉诺塔(C语言)
原创文章标签 hanoi汉诺塔C语言解法 文章分类 C/C++ 后端开发
上一篇:递归实现阶乘(C语言)
下一篇:快速排序(C语言,正序+倒序)
-
函数递归经典题目——汉诺塔,青蛙跳台阶
递归常见例题——斐波那契、汉诺塔、青蛙跳台阶
递归 n的阶乘 i++ -
初识C语言
简述初识c语言的心得
初识c语言 -
汉诺塔问题(Hanoi)(2.0)
只能分享代码了,自己功夫还不太行,暂时无法详细分析
字符常量 汉诺塔2.0 -
汉诺塔(hanoi tower)游戏
递归实现汉诺塔
汉诺塔 递归 C语言 递归实现 #include -
C# 汉诺塔(Hanoi)的递归解法
C# 汉诺塔(Hanoi)的递归解法解法思路分三个部分:挪走最下面的那个盘子之上的所有盘子挪走最下面的那
算法 c# 递归法 Parse 递归 -
汉诺塔问题(Hanoi)(1.0版)
这是汉诺塔的第一版,先简单分析
递归函数 汉诺塔