C语言解决汉诺塔问题!

很难受,看了很多资料才明白.....

对这个问题分析,发现思路如下:有n个黄金盘,要先把n-1个弄到B柱上,再把第n个弄到C柱上,然后把n-1个借助A柱弄到C柱上。

实现的函数如下:

void f(int n,char x,char y,char z)

{  if(n==1)

 printf("x to z");

else

{  f(n-1,'x','z','y');   //这个函数先进行完再向下进行下一个!!

   printf("x to z");

   f(n-1,'y','x','z');

}

}

posted @ 2019-10-30 14:28  Fate-Joker  阅读(292)  评论(0编辑  收藏  举报