Discuss / Python / 为什么程序不会出现将小的圆盘放在大圆盘的底下 是哪一步实现了这一设定的 求大神解答

为什么程序不会出现将小的圆盘放在大圆盘的底下 是哪一步实现了这一设定的 求大神解答

Topic source

def move(n,x,y,z): if n == 1: print(x,'-->',z) else: move(n-1,x,z,y) move(1,x,y,z) move(n-1,y,x,z) n = int(input('please enter a number:')) move(n,'x','y','z')`

就是最核心的三行代码,本质是将n个顺序圆盘简化为1个最大圆盘和n-1个圆盘组问题,并要求圆盘组永远不能处于最大圆盘的上面,即简化为两个变量。然后再用递归解决n-1个圆盘组的自身问题,仍然是1个圆盘和n-2个圆盘组的问题,明白了吧

这个move这个函数本身的意思是什么么? move(n,a,b,c) 是什么功能呢?

明白了,非常感谢


  • 1

Reply