当前位置: 高中信息技术 / 单选题
  • 1. 汉诺塔游戏中,如果有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杆上

微信扫码预览、分享更方便