代码填空【汉诺塔问题(a柱为原始柱,b柱为辅助柱,c柱为目标柱)】: void hanoi(int n, char a, char b, char c) { if (n > 0) { _________(1)__________; move(n,a,c); //将n号圆盘从a柱移至c柱 _________(2)_____________; } }
举一反三
- 代码填空【汉诺塔问题(a柱为原始柱,b柱为辅助柱,c柱为目标柱)】:void hanoi(int n, char a, char b, char c) { if (n > 0) { _________(1)__________; move(n,a,c); //将n号圆盘从a柱移至c柱 _________(2)_____________; }} A: (1) hanoi(n-1, b, a, c)(2) hanoi(n-1, a, c, b) B: (1) hanoi(n-1, a, b, c)(2) hanoi(n-1, b, c, a) C: (1) hanoi(n-1, b, c, a)(2) hanoi(n-1, a, b, c) D: (1) hanoi(n-1, a, c, b)(2) hanoi(n-1, b, a, c)
- 代码填空【汉诺塔问题(a柱为原始柱,b柱为辅助柱,c柱为目标柱)】:void ...2)_____________;}}
- 汉诺塔(hanoi塔)问题可以描述为以下递归形式 hanoi(n个盘子, A→B,缓冲柱为C) { if (n==1) 直接从A移到B else { hanoi(n-1个盘子, A→C, 缓冲柱为B) 移动n号盘子:A→B hanoi(n-1个盘子, C→B, 缓冲柱为A) } } 9bd153b5af31717f1112b419266aaa8c.jpg
- 6个圆盘的汉诺塔,如果需要将全部圆盘从A柱移至C柱,最少需要移动( )步。
- 柱效率用理论塔板数n或理论塔板高度h表示,下列说法错误的是: A: 柱效率越高,n越大,h越小 B: 柱效率越高,n越小,h越大 C: 柱效率越高,n越大,h越大 D: 柱效率越高,n越小,h越小