Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: The Perl Review

by jackdied (Monk)
on Feb 02, 2002 at 09:41 UTC ( #142904=note: print w/ replies, xml ) Need Help??


in reply to The Perl Review

Here are mine,

Update : since I didn't understand anyone elses (give or take) I've added explanations to mine

The first is obvious (51 chars)
The second is stated in a couple different ways (43 chars, 50 chars obfu'd)

sub obvious{ # (explained : count from zero until Z, return the current count if w +e found the position we are looking for) # 1 2 3 4 5 6 #23456789012345678901234567890123456789012345678901234567890 $n=pop;for(;$n ne((0..9),(A..Z))[$a];$a++){}"$a"||0; }
This one is more fun, it uses bitwise arithmatic to get the solution. The commented line is the same as the first, but more obfu
sub fun { # (explained : reduce the numbers to their base2 (binary) # representation. we always care about the # lowest four bits ($n & 0x1111 is $n & 15). If the ord of # the number is in the A-Z range the 7th bit will be set # ($n >> 6) will be true. In this case, also include the # 6th bit in the number ($n & 31) instead of ($n & 15). # Since A-Z starts at ten, add 9 as well) # 1 2 3 4 5 6 #23456789012345678901234567890123456789012345678901234567890 $n=ord(pop);$a=($n>>6)?(($n&31)+9):($n&15); # same thing, but obfu # $n=ord(pop);$a=($n&(1<<(4+($n>>6)))-1)+($n>>6&&9); }

Enjoy, or not, at your leisure.

-jackdied

PS, posting with mozilla is the biggest pain in the ass ever. It tries to do smart things with wrapping in a text box, and translating spaces and returns for you with some AI that makes posting code hell.


Comment on Re: The Perl Review
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (5)
As of 2015-07-07 09:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (88 votes), past polls