代码实现 采用递归法
#include <stdio.h>
int count;
void move(char A, char C, int n)
{
printf("%c->%c\n", A, C);
count++;
}
void Hanno(char A, char B, char C, int n)
{
if (n == 1)
{
move(A, C, n);
}
else
{
//将n-1个圆盘从A柱借助于C柱移动到B柱上
Hanno(A, C, B, n - 1);
//将A柱子最后一个圆盘移动到C柱上
move(A, C, n);
//将n-1个圆盘从B柱借助于A柱移动到C柱上
Hanno(B, A, C, n - 1);
}
}
int main()
{
int n = 0;
scanf("%d", &n);
//将n个圆盘从A柱借助于B柱移动到C柱上
Hanno('A', 'B', 'C', n);
return 0;
}
参考了其他博主的代码 仅供学习参考