Sha256: 8e4ef658fbff66217831b806c7cf5fc1132ff0c707b9f655a8b4d05adc4a67ab

Contents?: true

Size: 368 Bytes

Versions: 327

Compression:

Stored size: 368 Bytes

Contents

defmodule SumOfMultiples do

  @doc """
  Adds up all numbers from 1 to a given end number that are multiples of the factors provided.
  """
  @spec to(non_neg_integer, [non_neg_integer]) :: non_neg_integer
  def to(limit, factors) do
    Enum.reduce(1..limit-1, 0, fn(n, acc) ->
      if Enum.any?(factors, &(rem(n, &1) == 0)), do: acc + n, else: acc end)
  end

end

Version data entries

327 entries across 327 versions & 1 rubygems

Version Path
trackler-2.2.1.109 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.108 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.107 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.106 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.105 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.104 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.103 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.102 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.101 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.100 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.99 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.98 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.97 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.96 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.95 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.94 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.93 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.92 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.91 tracks/elixir/exercises/sum-of-multiples/example.exs
trackler-2.2.1.90 tracks/elixir/exercises/sum-of-multiples/example.exs