Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: Re: Re: Luhn Number Golf

by chipmunk (Parson)
on Feb 26, 2002 at 22:15 UTC ( #147748=note: print w/ replies, xml ) Need Help??

in reply to Re: Re: Luhn Number Golf
in thread Luhn Number Golf

Unfortunately, you can't simply eliminate reverse. Cody Pendant explained why in the comments in his solution; if the number has an odd number of digits, you'll end doubling the wrong digits. For example, your solution would return true for 548979844, which is not a Luhn number.

You shouldn't eliminate my$s; either. That's not there for strict-ness, but to allow the subroutine to be called more than once. Without it, $s would keep its values between calls, throwing off all the subsequent answers.

Comment on Re: Re: Re: Luhn Number Golf
Re: Re: Re: Re: Luhn Number Golf
by blakem (Monsignor) on Mar 08, 2002 at 09:10 UTC
    If you aren't going for strictness, you can get the same initialization effect with
    Which is one char shorter than
    If you also want to keep strictness, you can always sidestep it by replacing $s with a global punctuation variable.


Log In?

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (8)
As of 2015-05-30 19:47 GMT
Find Nodes?
    Voting Booth?

    In my home, the TV remote control is ...

    Results (599 votes), past polls