汉诺塔游戏规则:
1.有三根杆子A,B,C。A杆上有若干碟子
2.每次移动一块碟子,小的只能叠在大的上面
3.把所有碟子从A杆全部移到C杆上
#include <stdio.h>
//最合适递归的例子 汉诺塔问题
int g_count = 0;//全局变量的定义
void Move(char x,char y)
{
printf("%c->%c\n",x,y);
g_count++;
}
void Hanoi(int n,char a,char b,char c)//将n个盘子从a,通过b,移到c
{
if(n == 1)
{
Move(a,c);
}
else
{
Hanoi(n-1,a,c,b);
Move(a,c);
Hanoi(n-1,b,a,c);
}
}
int main()
{
Hanoi(4,'A','B','C');
return 0;
}