01/10/2018, 11:35

Giải thích code tháp Hà Nội trong Python

def thapHaNoi(n, toaMot, toaHai, toaBa):

if n == 1:
	print "chuyen tu", toaMot, "sang", toaBa

else:
	thapHaNoi(n-1, toaMot, toaBa, toaHai)
	print "chuyen tu", toaMot, "sang", toaBa
	thapHaNoi(n-1, toaHai, toaMot, toaBa)

các bác có thể giải thích giúp em cơ chế vận hành của code này k ạ
e k hiểu sao máy nó hiểu đc chuyển cột theo điều kiện đĩa lớn không được nằm trên đĩa nhỏ được anh nhỉ
rất cám ơn các bác.

rogp10 viết 13:45 ngày 01/10/2018

Câu hỏi này thuần thuật toán. Giờ câu hỏi là ntn: Làm cách nào để di chuyển đĩa lớn nhất?

toan viết 13:41 ngày 01/10/2018

mình không rõ, mong bạn nói rõ hơn đc k
mình chưa giải đc cách 1 bạn ah
vì mình mới học python k hiểu cách vận hành của nó ntn ở lệnh này

HK boy viết 13:50 ngày 01/10/2018

Bạn thử đọc xem, vấn đề chỉ là thuật toán thôi:

en.wikipedia.org

Tower of Hanoi

The Tower of Hanoi (also called the Tower of Brahma or Lucas' Tower and sometimes pluralized) is a mathematical game or puzzle. It consists of three rods and a number of disks of different sizes, which can slide onto any rod. The puzzle starts with the disks in a neat stack in ascending order of size on one rod, the smallest at the top, thus making a conical shape. The objective of the puzzle is to move the entire stack to another rod, obeying the following simple rules: With 3 disks, the puzzl...

http://interactivepython.org/courselib/static/pythonds/Recursion/TowerofHanoi.html

toan viết 13:48 ngày 01/10/2018

thank bạn, tại mình học nhảy cóc không học qua mấy thuật toán

Bài liên quan
0