|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我是想自己分解一下汉诺塔递归程序,后来发现水平有限,分解不下去了,希望大神帮忙拆解一下,最好后面有个注释,感激不尽。还有其中(a,b,c)虽然知道是形参实参的问题,但是还是在分解期间绕绕绕绕不清楚,希望大神能帮忙注释一下。 这个问题已经困扰了三四天了,天天都在想,太痛苦了。
汉诺塔程序推演:
现在假设n = 3 对该递归程序进行拆解
def hanoi(n,a,b,c):
if n ==1 :
print ( a, '->' , c)
else:
hanoi(n-1,a,c,b)
Hanoi(3-1,a,c,b)
If n == 1:
Print ( a ,’->’,b )
Else:
Hanoi(3-1-1,a,b,c)
If n == 1:
Print ( a ,’->’,c )①
Print (a,’->’,b)②
Hanoi(3-1,a,c,b)
If n == 1:
Print( b,’->’,a )
Else :
Hanoi( 3-1-1,c,a,b )
If n == 1:
Print( c,’->’,b )③
Print(a,’->’,c)④
Hanoi(3-1-1,c,a,b)
If n == 1:
Print(c,’->’,b)
print( a, '->' , c)
hanoi(n-1,b,a,c)
|
|