Sha256: ef703aadae5581f7ec734664d5f5ae3bb01aad12650687455dc8be6b00cfc9f6

Contents?: true

Size: 682 Bytes

Versions: 396

Compression:

Stored size: 682 Bytes

Contents

local function digit_string_to_array(digit_string)
  local a = {}
  digit_string:gsub('.', function(c)
    assert(tonumber(c))
    table.insert(a, tonumber(c))
  end)
  return a
end

local function series_product(a, first, last)
  local product = 1
  for i = first, last do
    product = product * a[i]
  end
  return product
end

return function(config)
  assert(config.span >= 0)
  assert(config.span <= #config.digits)

  local digits = digit_string_to_array(config.digits)
  local largest

  for i = 1, #digits - config.span + 1 do
    local product = series_product(digits, i, i + config.span - 1)
    largest = math.max(largest or 0, product)
  end

  return largest or 1
end

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.179 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.178 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.177 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.176 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.175 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.174 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.173 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.172 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.171 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.170 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.169 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.167 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.166 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.165 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.164 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.163 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.162 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.161 tracks/lua/exercises/largest-series-product/example.lua
trackler-2.2.1.160 tracks/lua/exercises/largest-series-product/example.lua