在经典的汉诺塔问题中,如果有5个圆盘需要从A柱移至C柱,最少需要移动( )步。
31
举一反三
内容
- 0
代码填空【汉诺塔问题(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)_____________; } }
- 1
移动一个3层的汉诺塔,至少需要多少步?
- 2
汉诺____塔问题是一个经典问题。有三根细柱A,B,C, 柱A上套有n个从小到大的圆盘,小的在上,大的在下,要求把这n个盘移到C柱上,在移动的过程中可以借助B柱,每次只许动一个盘,且在移动过程中在三根柱上总是保持大盘在下,小盘在上。编写程序来完成盘子的移动,打印出移动的步骤
- 3
试分析,汉诺塔如果A柱有4只盘,要从A移动到C柱,不走错的话,最少需要几步:要符合游戏规则,一次移一个,大盘只能在小盘下() A: 15 B: 16 C: 17 D: 18
- 4
完成具有5个圆盘的汉诺塔问题,需要移动圆盘的次数是( )。 A: 9次 B: 15次 C: 31次 D: 65次