Sha256: 031aeb35834683adc39ae485cbdc6e0a19b9f2cf208a78c2f034056f2e275653

Contents?: true

Size: 390 Bytes

Versions: 396

Compression:

Stored size: 390 Bytes

Contents

return function(amount, values)
  local index, sorted_values, result = {}, {}, {}

  for i, v in ipairs(values) do
    index[v] = i
    sorted_values[i] = v
  end

  table.sort(sorted_values, function(a, b) return b < a end)

  for i, value in ipairs(sorted_values) do
    result[index[value]] = amount // value
    amount = amount % value
  end

  return amount == 0 and result or nil
end

Version data entries

396 entries across 396 versions & 1 rubygems

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