#include <iostream>
using namespace std;
unsigned short tot;
void Hanoi(int n, char A, char B, char C) {
++tot;
if(n==1) {
cout<<A<<"->"<<C<<'/';
return;
}
Hanoi(n-1,A,C,B);
cout<<A<<"->"<<C<<'/';
Hanoi(n-1,B,A,C);
}
int main() {
int n;
cin>> n;
Hanoi(n,'A','B','C');
cout<<'\n'<<tot<<'\n';
return 0;
}
判断题
1) (1分)将第6行移到13行和14行之间,输出结果不会变化。( )
2) 当输入的n=2时,输出的第一行为A->B/B->C/A->C/。( )
3) 当输入的n=3时,输出的第二行为8。( )
4) 本程序的含义可以是:有三根柱子,第一根柱子从上到下依次套有编号分别为1~n的圆环,现在每次可以移动某个柱子顶部的圆环到另一个桂子的顶部上,并且要求编号较大的圆环要始终不能在编号较小的上面,输出一种操作次数最少的方案以及对应的操作次数。( )
选择题
5) 当输入的n=3时,输出的第一行的第21个字符是( )。
6) (5分)当n=17时,程序输出的第二行为( )。