Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: (Golf): Sieve of Eratosthenes

by srawls (Friar)
on May 19, 2001 at 22:17 UTC ( #81746=note: print w/replies, xml ) Need Help??

in reply to (Golf): Sieve of Eratosthenes

This is my very first golf attempt, and I know it's pretty bad, but here it goes:

Well, it does return duplicates (2 2 5 5 7 7) since I use a hash, but I didn't see anything in the problem that said you couldn't. I count 77 chars (see update). (Note: that is excluding the new-lines, I ran it with out them, but I posted new lines here to be more pleasing to the eye, also, it is excluding the sub a { and the end } parts).

sub a { @a{2..$_[0]}=2..$_[0]; for$b(%a){!($b%$_)&&$b!=$_&&delete@a{$b}for(%a)} %a }
One last note, since this is my first golf, I would very much appreciate any suggestions or improvements to my code. I realize I took a very straight forward approach to this solution, but that is how I think.

Update:Took it down to 73 chars. I took out one set of un-needed parenentheses and two un-needed semicolons.

Note:If you put keys before the %a it takes away the problem of repeats, but it brings me back to where I started with 77 chars.

The 15 year old, freshman programmer,
Stephen Rawls

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://81746]
and the universe expands...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (2)
As of 2017-03-29 04:43 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (343 votes). Check out past polls.