class Primes attr_reader :primes def initialize(len = nil) return nil if len.nil? state = Numeric.new @primes = [2, 3] i = 4 count = 0 while count < len.abs - 2 (2..(Math.sqrt(i).ceil)).each do |x| state = true if (i.divmod(x)[1] == 0) state = false break end end if state @primes << i count +=1 end i += 1 end return @primes end end