def<\/span> <\/span>sieve_of_eratosthenes<\/span>(<\/span>max_prime<\/span>)<\/span>
<\/span> <\/span>sieve<\/span> <\/span>=<\/span> <\/span>Array<\/span>.<\/span>new<\/span>(<\/span>max_prime<\/span>,<\/span> <\/span>true<\/span>)<\/span>
<\/span> <\/span>sieve<\/span>[<\/span>0<\/span>]<\/span> <\/span>=<\/span> <\/span>sieve<\/span>[<\/span>1<\/span>]<\/span> <\/span>=<\/span> <\/span>false<\/span>
<\/span>
<\/span> <\/span>2<\/span>.<\/span>upto<\/span>(<\/span>Math<\/span>.<\/span>sqrt<\/span>(<\/span>max_prime<\/span>)<\/span>)<\/span> <\/span>do<\/span> <\/span>|<\/span>i<\/span>|<\/span>
<\/span> <\/span>if<\/span> <\/span>sieve<\/span>[<\/span>i<\/span>]<\/span>
<\/span> <\/span>(<\/span>i<\/span>**<\/span>2<\/span>)<\/span>.<\/span>step<\/span>(<\/span>max_prime<\/span>,<\/span> <\/span>i<\/span>)<\/span> <\/span>do<\/span> <\/span>|<\/span>j<\/span>|<\/span>
<\/span> <\/span>sieve<\/span>[<\/span>j<\/span>]<\/span> <\/span>=<\/span> <\/span>false<\/span>
<\/span> <\/span>end<\/span>
<\/span> <\/span>end<\/span>
<\/span> <\/span>end<\/span>
<\/span>
<\/span> <\/span>result<\/span> <\/span>=<\/span> <\/span>[<\/span>]<\/span>
<\/span> <\/span>sieve<\/span>.<\/span>each_index<\/span> <\/span>do<\/span> <\/span>|<\/span>i<\/span>|<\/span>
<\/span> <\/span>result<\/span> <\/span><<<\/span> <\/span>i<\/span> <\/span>if<\/span> <\/span>sieve<\/span>[<\/span>i<\/span>]<\/span>
<\/span> <\/span>end<\/span>
<\/span>
<\/span> <\/span>return<\/span> <\/span>result<\/span>
<\/span>end<\/span>
<\/span><\/pre><\/td>\n<\/tr><\/table>\n\n");
|