#include <stdio.h>
//汉诺塔递归实现
void move(int n,char a,char b,char c)
{
if (n == 1)
printf(" %c->%c
",a,c); //一个盘子直接从a挪到c
else
{
move(n-1,a,c,b); //把n-1个盘子从a,通过c移动到b
printf(" %c->%c
",a,c); //把a上的最后一个盘子移动到c上,实现了最大盘子放下面
move(n-1,b,a,c); //把n-1个盘子从b,通过a移动到c
}
}
int main()
{
int sum;
printf("请输入盘子个数:");
scanf("%d",&sum);
printf("汉诺塔移动路径:
");
move(sum,'a','b','c');
return 0;
}