首页 > 代码库 > 汉诺塔问题--递归实现

汉诺塔问题--递归实现

/*汉诺塔问题*/#include <stdio.h>#include <stdlib.h>//定义n为移动的层数,x,y,z分别代表三根柱子,表示把前n层塔牌从x借助y移动到zvoid move(int n,char x,char y,char z){    if(n == 1)    {        printf("从 %c 移动到 %c \n",x,z);    }    else    {        move(n-1,x,z,y);        printf("从 %c 移动到 %c \n",x,z);        move(n-1,y,x,z);    }}int main(){    int m; //   char X,Y,Z;    printf("请输入层数: \n");    scanf("%d",&m);    move(m,‘X‘,‘Y‘,‘Z‘);}

  

汉诺塔问题--递归实现