#include <stdio.h>
void move(int, char, char, char);
void move(int num, char from, char tmp, char to)
{
if (num == 1) {
printf("%c ==> %c\n", from, to); //我在最上层,目的地可以直接一步直达
} else {
move(num - 1, from, to, tmp); //上面级让位置
printf("%c ==> %c\n", from, to); //我去我的目的地
move(num - 1, tmp, from, to);//上级可以来我身上了,咱们是一个整体
}
}
int main(void)
{
int num;
printf("Input hanoi layer number:");
scanf("%d", &num);
move(num, ‘A‘, ‘B‘, ‘C‘);
}
原文:https://blog.51cto.com/sndapk/2609544