Sha256: 9c64bea94bb0f9dfbb3d44810155be4d2c6a92135c130dea791c343c07ec5810

Contents?: true

Size: 370 Bytes

Versions: 9

Compression:

Stored size: 370 Bytes

Contents

class Sieve
  attr_reader :range
  def initialize(limit)
    @range = (2..limit)
  end

  def primes
    @primes ||= calculate
  end

  private

  def calculate
    numbers = range.to_a
    primes = []
    begin
      target = numbers.shift
      primes << target if target
      numbers.reject! { |i| i % target == 0 }
    end until numbers.empty?
    primes
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
trackler-1.0.4.0 tracks/ruby/exercises/sieve/example.rb
trackler-1.0.3.0 tracks/ruby/exercises/sieve/example.rb
trackler-1.0.2.1 tracks/ruby/exercises/sieve/example.rb
trackler-1.0.2.0 tracks/ruby/exercises/sieve/example.rb
trackler-1.0.1.2 tracks/ruby/exercises/sieve/example.rb
trackler-1.0.1.1 tracks/ruby/exercises/sieve/example.rb
trackler-1.0.1.0 tracks/ruby/exercises/sieve/example.rb
trackler-1.0.0.1 tracks/ruby/exercises/sieve/example.rb
trackler-1.0.0 tracks/ruby/exercises/sieve/example.rb