漢諾塔中健爬,我們需要考慮的是將當(dāng)前層數(shù)中除去最后一層的其余層數(shù)通過(guò)C柱放在B柱上,然后將最后一層從A柱移到C柱,最后將剩余層數(shù)通過(guò)A柱從B柱移到C柱,如果說(shuō)層數(shù)為1層纫事,那么可以直接從A柱移到C柱勘畔。代碼如下:
def move(n, a, b, c):
# 若為一層,直接移動(dòng)
if n == 1 :
print u'{0}--->{1}'.format(a, c)
return
#移動(dòng)除去最后一層到輔助柱上
move(n-1, a, c, b)
#移動(dòng)最后一層
print u'{0}--->{1}'.format(a, c)
#移動(dòng)除去最后一層到最終柱上
move(n-1, b, a, c)
move(3, 'A', 'B', 'C')
結(jié)果為: