组卷题库 > 高中信息技术试卷库
试题详情
汉诺塔游戏中,如果有n个木盘,第n个木盘是最大的木盘,用递归的方法求解,将n个木盘从A杆移动到C杆,需要借助中间的B杆。只要超过一个木盘,在移动过程中,总会存在起始杆、过渡杆及目标杆的问题。因此,定义函数时,用到了4个参数: hanoi(n,s,m,t), n表示需要移动的盘子数量,s表示盘子的起始杆,m表示中间过渡杆,t表示目标杆,如图4.3.4所示。

阅读下列程序。

def hanno(n,s,m,t):

    if n==1:

        print(s,'-->',t)  

    else:

        hanno(n-1,s,t,m)

        print(s,'-->',t)

        hanno(n-1,m,s,t)

#主程序

n=int(input('请输入汉诺塔的层数:'))

hanno(n,'A','B','C')

input("运行完毕,请按回车键退出...")

下列说法错误的是(    )

A、此递归没有终止结束条件
B、print(s,'-->',t)表示A杆上当前最后木盘移动到C杆上
C、hanno(n-1,s,t,m)表示A杆有n个盘子现将前n-1个盘子从A杆移动到B杆上
D、hanno(n-1,m,s,t)表示将B杆上的n-1个盘子移动到C杆上
知识点
参考答案
采纳过本试题的试卷
教育网站链接