Skip to content

Instantly share code, notes, and snippets.

@mzemel
Created October 15, 2015 17:39
Show Gist options
  • Save mzemel/57bfa4372c940ad1db50 to your computer and use it in GitHub Desktop.
Save mzemel/57bfa4372c940ad1db50 to your computer and use it in GitHub Desktop.
# If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
# Find the sum of all the multiples of 3 or 5 below 1000.
defmodule Multiples do
def get(n), do: sum(n, 0)
defp sum(0, accum), do: accum
defp sum(n, accum) when rem(n, 3) == 0, do: sum(n-1, accum + n)
defp sum(n, accum) when rem(n, 5) == 0, do: sum(n-1, accum + n)
defp sum(n, accum), do: sum(n-1, accum)
end
IO.puts "The sum is #{Multiples.get(999)}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment