logo for matrixlab-examples.com
[?] Subscribe To This Site

XML RSS
follow us in feedly
Add to My Yahoo!


leftimage for matrixlab-examples.com

Tower of Hanoi algorithm

1.- Introduction

2.- Presentation of main ideas and code

3.- Play the Puzzle!!


1.- Introduction to the algorithm of the Towers of Hanoi in Matlab



Would you like to get the Tower of Hanoi algorithm? For the moment, see how you do in this wonderful game of skill and logic...


The Towers of Hanoi 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, and then making a conical shape.

Puzzle - Towers of Hanoi


Try to move all the disks onto another pole. Thing is, you can only
move one disk at a time and you must follow size order (a bigger disk
can't go on a smaller disk). Good luck!


2.- Solution using recursivity

The following presentation gives you a very good idea of what recursivity is.
You can examine the full code in Matlab after the presentation.



This is the main function (the one that is going to call itself many times).

function m(n, init, temp, fin)
if n == 1
    % display your move
    disp([init ' to ' fin])

    else
    % move n-1 disks from A to B, with C as temp
    m(n-1, init, fin, temp);
   
    % move disk from A to C, with B as temp
    m(1, init, temp, fin);
   
    % move n-1 disks from B to C, with A as temp
    m(n-1, temp, init, fin);
end

You can call it providing the number of disks and the names of the towers.

n = 3;
m(n, ' A', ' B', ' C')

This is the complete result of the moves for 3 disks...

A to C
A to B
C to B
A to C
B to A
B to C
A to C


3.- Play the Game!

Free JavaScripts provided
by The JavaScript Source

 From 'Tower of Hanoi algorithm' to home

 From 'Tower of Hanoi algorithm' to 'Fun menu'


Credits: CC BY-SA 3.0, Link



Top

footer for tower of hanoi algorithm page




disk1
disk 1h
disk 2
disk 2h
disk
disk 3h
disk 4
disk 4h
disk 5
disk 5h
disk 6
disk 6h
disk 7
disk 7h
post
post top