Sha256: 3ac272f3c6e2981e3e012853991dfd7ccacccc5ca9f42e3b08f0975c51f04249

Contents?: true

Size: 408 Bytes

Versions: 387

Compression:

Stored size: 408 Bytes

Contents

module BookKeeping
  VERSION = 1
end

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

387 entries across 387 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.179 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.178 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.177 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.176 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.175 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.174 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.173 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.172 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.171 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.170 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.169 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.167 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.166 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.165 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.164 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.163 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.162 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.161 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb
trackler-2.2.1.160 tracks/ruby/exercises/sieve/.meta/solutions/sieve.rb