输入
多组测试用例,每组输入一个正整数n,n代表圆盘数量。
输出
每组输出之间有一行空行。
样例输入 Copy
3
样例输出 Copy
第1步:1号盘从A柱移至C柱 第2步:2号盘从A柱移至B柱 第3步:1号盘从C柱移至B柱 第4步:3号盘从A柱移至C柱 第5步:1号盘从B柱移至A柱 第6步:2号盘从B柱移至C柱 第7步:1号盘从A柱移至C柱
#include <stdio.h>
int step;
void move(long long int n,char a,char b){
printf("第%d步:%lld号盘从%c柱移至%c柱\n",++step,n,a,b);
}
void hanoi(long long int n,char a,char b,char c){
if(n>0){
hanoi(n-1,a,c,b);
move(n,a,c);
hanoi(n-1,b,a,c);
}
}
int main(){
long long int n;
while(~scanf("%lld",&n)){
hanoi(n,'A','B','C');
step=0;
printf("\n");
}
}