lib/eratostene_sieve.rb in eratostene_sieve-0.0.1 vs lib/eratostene_sieve.rb in eratostene_sieve-0.0.2.alpha
- old
+ new
@@ -7,10 +7,10 @@
module EratosteneSieve
Inf = 1.0 / 0.0
def self.nth_prime(index)
return first_primes[index] if index < first_primes.size
- counter = first_primes.size
+ counter = first_primes.size - 1
((first_primes.last + 2)..Inf).step(2) do |candidate|
(2..((candidate**0.5).to_i)).each do |m|
break if candidate % m == 0
counter += 1 if m == (candidate**0.5).to_i
end