Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Recursion: the Towers of Hanoi problem

by MistaMuShu (Beadle)
on Oct 19, 2004 at 23:30 UTC ( #400700=note: print w/replies, xml ) Need Help??


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 ;-)

Replies are listed 'Best First'.
Re^2: Recursion: the Towers of Hanoi problem
by insaniac (Friar) on Oct 20, 2004 at 11:11 UTC
    well that's easy, the last 2 statements get executed when the algorithm is "rolling back" the loop. I mean: the last time the first movedisks statement is executed in the loop, it will start executing the last 2 statements from back to front (read: go over the loop from back to front)... that's what recursion is all about ;-)

    --
    to ask a question is a moment of shame
    to remain ignorant is a lifelong shame

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://400700]
help
Chatterbox?
[Corion]: haukex: Yes - I see the benefit of using Dist::Zilla for people with 150+ modules on CPAN, but I don't see it for myself, and I'm always put off from contributing to such modules because they require a lot of toolchain setup that I don't want to ...
[Corion]: ... spend time on if I only want to provide a short patch
[haukex]: Corion: Yes exactly, in the author tests I don't worry about portability as much, I also don't list the author tests' dependencies in Makefile.PL
[haukex]: I figure someone who wants to contribute will know how to install the missing modules ;-) Not the nicest way to go but I don't think many people are using my modules yet
[ambrus]: Corion: some of these stupid syntax highlighters assume that too. just look at the table in http://perldoc. perl.org/ functions/pack. html for example.
[haukex]: ..."yet" ;-) I haven't had to deal with Dist::Zilla yet but I've heard about how it's a big setup

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (14)
As of 2017-02-27 12:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?






    Results (385 votes). Check out past polls.