<?xml version="1.0" encoding="windows-1252"?>
<node id="81718" title="Re (tilly) 1: (Golf): Sieve of Eratosthenes" created="2001-05-19 14:40:28" updated="2005-08-03 10:24:11">
<type id="11">
note</type>
<author id="26179">
tilly</author>
<data>
<field name="doctext">
I think I have to rule the 40 character solution out of
bounds on the basis of the fact that you are walking
through the numbers and testing whether each is prime.
This loses the central idea of Eratosthenes which
is that when you find a prime you immediately mark off
its multiples.&lt;P&gt;

Basically you reversed the role of the 2 loops.&lt;P&gt;

The 60 character answer is impressive.  However it seems to
scale quadratically.  I must confess that I don't see
&lt;i&gt;why&lt;/i&gt; it is scaling quadratically, but it clearly
is.  So unless you can explain why this is a bug in Perl,
I am going to have to call this a solution to only the
first problem.&lt;P&gt;

&lt;B&gt;UPDATE&lt;/B&gt;&lt;BR&gt;
I now understand why your 60 character solution is scaling
slowly.  It actually scales like O(n*n/log(n)), and it is
because you are walking all of the primes with each strike
rather than just the multiples of the current prime.  So
it definitely &lt;b&gt;only&lt;/b&gt; is a solution to the first
problem.</field>
<field name="root_node">
81695</field>
<field name="parent_node">
81707</field>
</data>
</node>
