汉诺塔问题之递归解法:
- #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);
- }
- }