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