修改代码输出汉诺塔问题的全部移动步骤,初始状态所有圆盘在B塔,要求移动到A塔。
#include<stdio.h>
void hanoi(int n,char a,char b,char c){
if(n>0){
hanoi(n-1,a,c,b);
printf("%d%c%c\n",n,a,c);
hanoi(n-1,c,b,a);
}
}
int main(){
int n;
hanoi(3,'A','B','C');
return 0;
}
修改代码输出汉诺塔问题的全部移动步骤,初始状态所有圆盘在B塔,要求移动到A塔。
#include<stdio.h>
void hanoi(int n,char a,char b,char c){
if(n>0){
hanoi(n-1,a,c,b);
printf("%d%c%c\n",n,a,c);
hanoi(n-1,c,b,a);
}
}
int main(){
int n;
hanoi(3,'A','B','C');
return 0;
}