void hanino(int n, char a, char b, char c) {
if (n == 1) {
printf("%c -> %c\n", a, c);//只有一个方块时,直接把a移动到c
}
else {
hanino(n - 1, a, c, b);//把a上的n-1个方块移动到b上
printf("%c -> %c\n", a, c);//把a上最后一块移动到上
hanino(n - 1, b, a, c);//把b上的n-1个方块移动到c上
}
}
int main() {
int n=0;
printf("请输入方块数 \n");
scanf("%d", &n);
hanino(n, 'A', 'B', 'C');
return 0;
}
//一般我们都是以三个方块为例,来逐步解决后面多个方块的问题