用递归方式进行方块在几个塔之间的转换
函数实现移动
void Move(char pos1, char pos2)
{
printf("%c-->%c\n", pos1, pos2);
}
void Hanno(int n, char pos1, char pos2, char pos3)
{
if (n == 1)
{
Move(pos1, pos3);
}
else
{
Hanno(n - 1, pos1, pos3, pos2);
Move(pos1, pos3);
Hanno(n - 1, pos2, pos1, pos3);
}
}
写主函数,调用Hanno,Move函数
int main()
{
int n;
scanf("%d", &n);
Hanno(n, 'a', 'b', 'c');
system("pause");
return 0;
}