有a,b,c三个柱子,n个盘子。

def move(n, a, b, c):

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  if n == 1:

    print('move', a, '-->', c)

  else:

    move(n-1, a, c, b)

    move(1, a, b, c)

    move(n-1, b, a, c)

move(5, 'A', 'B', 'C')

 

执行结果为:

=== RESTART: C:/Users/0923/AppData/Local/Programs/Python/Python37/test.py ===
move A --> C
move A --> B
move C --> B
move A --> C
move B --> A
move B --> C
move A --> C
move A --> B
move C --> B
move C --> A
move B --> A
move C --> B
move A --> C
move A --> B
move C --> B
move A --> C
move B --> A
move B --> C
move A --> C
move B --> A
move C --> B
move C --> A
move B --> A
move B --> C
move A --> C
move A --> B
move C --> B
move A --> C
move B --> A
move B --> C
move A --> C
>>>

 

这个方法是我在,网上找到的。还不是很清楚,希望大神能解惑。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄