Class: Prime::EratosthenesSieve

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/prime.rb

Overview

Internal use. An implementation of eratosthenes' sieve

Instance Method Summary collapse

Constructor Details

#initializeEratosthenesSieve

Returns a new instance of EratosthenesSieve


426
427
428
429
430
# File 'lib/prime.rb', line 426

def initialize
  @primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101]
  # @max_checked must be an even number
  @max_checked = @primes.last + 1
end

Instance Method Details

#get_nth_prime(n) ⇒ Object


432
433
434
435
# File 'lib/prime.rb', line 432

def get_nth_prime(n)
  compute_primes while @primes.size <= n
  @primes[n]
end