色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python畫(huà)漢諾塔

漢諾塔是一種古老的智力游戲,以法國(guó)數(shù)學(xué)家Edouard Lucas的名字命名。這個(gè)游戲包括三個(gè)塔和一些圓盤,這些圓盤按照從大到小的順序放在一個(gè)塔上。游戲的目標(biāo)是將所有的盤子從一個(gè)塔移動(dòng)到另一個(gè)塔上,但是每次你只能移動(dòng)一個(gè)盤子并且不能將較大的盤子放在較小的盤子上。

def hanoi(n, source, target, auxiliary):
if n == 1:
print("移動(dòng)盤子1從 " + source + " 到 " + target)
return
hanoi(n-1, source, auxiliary, target)
print("移動(dòng)盤子" + str(n) + "從 " + source + " 到 " + target)
hanoi(n-1, auxiliary, target, source)
n = 3
hanoi(n, 'A', 'C', 'B')

下面是代碼解釋:

hanoi函數(shù)使用遞歸的方式實(shí)現(xiàn)漢諾塔的移動(dòng)。如果n等于1,則只需將一個(gè)盤子從源塔移動(dòng)到目標(biāo)塔。否則,將n-1個(gè)盤子從源塔移動(dòng)到輔助塔,然后將最后一個(gè)盤子從源塔移動(dòng)到目標(biāo)塔。最后,將n-1個(gè)盤子從輔助塔移動(dòng)到目標(biāo)塔。

在主函數(shù)中,我們調(diào)用hanoi函數(shù),并將源塔、目標(biāo)塔和輔助塔指定為A、C和B。在此示例中,我們將3個(gè)盤子移動(dòng)到目標(biāo)塔上。

執(zhí)行代碼,輸出結(jié)果如下:

移動(dòng)盤子1從 A 到 C
移動(dòng)盤子2從 A 到 B
移動(dòng)盤子1從 C 到 B
移動(dòng)盤子3從 A 到 C
移動(dòng)盤子1從 B 到 A
移動(dòng)盤子2從 B 到 C
移動(dòng)盤子1從 A 到 C

從結(jié)果可以看出,我們已經(jīng)成功地將3個(gè)盤子從A移到了C。