Implementing the Tower of Hanoi method under python
Mar 27, 2017 pm 04:37 PMThe Tower of Hanoi is an educational toy from an ancient Indian legend. The movement of the Tower of Hanoi can also be seen as a recursivefunction.
We number the columns a, b, c. Moving all the disks from a to c can be described as:
If a has only one disk, it can be moved directly to c;
If a has N disks, which can be regarded as a having 1 disk (chassis) + (N-1) disks. First, you need to move (N-1) disks to b, and then move the last part of a Move one disk to c, and then move (N-1) disks of b to c.
Please write a function, given the input n, a, b, c, print out the steps of movement:
move(n, a, b, c)
For example, input move(2, 'A ', 'B', 'C'), print out:
A –> B
A –> C
B –> C
Background information:
汉Tower of Hanoi: The Tower of Hanoi (also known as the Tower of Hanoi) is an educational toy derived from an ancient legend in India. When Brahma created the world, he made three diamond pillars. On one pillar, 64 gold discs were stacked in order of size from bottom to top. Brahma ordered the Brahmin to rearrange the disks on another pillar in order of size from the bottom. It is also stipulated that the disk cannot be enlarged on the small disk, and only one disk can be moved between the three pillars at a time.
The code is implemented as follows:
def move(n, a, b, c): if n==1: print a,'-->',c return else: move(n-1,a,c,b) #首先需要把 (N-1) 个圆盘移动到 b move(1,a,b,c) #将a的最后一个圆盘移动到c move(n-1,b,a,c) #再将b的(N-1)个圆盘移动到c move(4, 'A', 'B', 'C')
The above is the detailed content of Implementing the Tower of Hanoi method under python. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

What are the advantages and disadvantages of templating?

Google AI announces Gemini 1.5 Pro and Gemma 2 for developers

For only $250, Hugging Face's technical director teaches you how to fine-tune Llama 3 step by step

Share several .NET open source AI and LLM related project frameworks

A complete guide to golang function debugging and analysis
