http://qs1969.pair.com?node_id=400700


in reply to Recursion: The Towers of Hanoi problem

Forgive me, but I'm not seeing how the last statements in the else loop get executed:

print "Move disk $num from $from to $to\n"; movedisks( $num-1, $aux, $to, $from );

I jotted down the steps with 3 discs on a piece of paper and this is how I saw it:

$numdisks = 3 movedisks( 3-1, A, C, B) movedisks( 2-1, A, B, C) print "Move disk 1 from A to B" for the base case

Shouldn't the last two statements be right outside the else block?

Neato problem, I didn't get it at first, but now I'm tempted to start my own 3-peg disc rotating habit. It all sounds very zen ;-)