汉诺塔问题之递归解法

汉诺塔问题之递归解法:

 

  1. #include <stdio.h>
  2. void hanoi(int n,char a,char b,char c);
  3. int main(void)
  4. {
  5.     int n = 0;
  6.     printf("input the number of disks: ");
  7.     scanf("%d",&n);
  8.     printf("The step to moving %d disks:/n",n); 
  9.     hanoi(n,'A','B','C');
  10.     return 0;
  11. }
  12. void hanoi(int n,char A,char B,char C)
  13. {
  14.     if( n == 1)
  15.     {
  16.         printf("%c --> %c/n",A,C);  
  17.     }
  18.     else
  19.     {
  20.         hanoi(n-1,A,C,B);
  21.         printf("%c --> %c/n",A,C);
  22.         hanoi(n-1,B,A,C);
  23.     }
  24. }

你可能感兴趣的:(c)