Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re^3: The 15 Puzzle

by hippo (Chancellor)
on Jun 10, 2020 at 21:35 UTC ( #11117924=note: print w/replies, xml ) Need Help??

in reply to Re^2: The 15 Puzzle
in thread The 15 Puzzle

Both versions of the loop are effectively the same as far as the algorithm goes. By moving the conditional to the end you have avoided the need for the initial flag value. I just picked 1 as it makes $inversions % 2 a true value but it could equally have been -1 or -9999 or any other (odd) value if that were to make it seem less wrong. You could even go so far as to set up a constant called INITIAL_INVERSIONS and set that to have the arbitrary flag value - TIMTOWTDI.

It's best to code in a way that's right for you. If the semantics of the variables are most important to you then that's clearly the way to go. There's no computational penalty for this and anything that makes the code easier to maintain, whether objectively or for the specific maintainer, has to be beneficial.

Just the process of analysing this and re-working the loop will have been, I hope, a worthwhile exercise. Thanks for taking the time to do so.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://11117924]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2020-09-26 15:55 GMT
Find Nodes?
    Voting Booth?
    If at first I donít succeed, I Ö

    Results (141 votes). Check out past polls.