汉诺塔问题之递归解法:
- #include <stdio.h>
- void hanoi(int n,char a,char b,char c);
- int main(void)
- {
- int n = 0;
- printf("input the number of disks: ");
- scanf("%d",&n);
- printf("The step to moving %d disks:/n",n);
- hanoi(n,'A','B','C');
- return 0;
- }
- void hanoi(int n,char A,char B,char C)
- {
- if( n == 1)
- {
- printf("%c --> %c/n",A,C);
- }
- else
- {
- hanoi(n-1,A,C,B);
- printf("%c --> %c/n",A,C);
- hanoi(n-1,B,A,C);
- }
- }
本文介绍了一个经典的递归算法实例——汉诺塔问题,并提供了完整的C语言实现代码。通过用户输入盘子数量,程序将输出移动这些盘子的具体步骤。
5367

被折叠的 条评论
为什么被折叠?



