Add solution to first project euler problem in elixir
authorDavid Kerkeslager <kerkeslager@gmail.com>
Fri, 9 Dec 2016 16:15:33 +0000 (11:15 -0500)
committerDavid Kerkeslager <kerkeslager@gmail.com>
Fri, 9 Dec 2016 16:15:33 +0000 (11:15 -0500)
euler/elixir/0001-sum-of-multiples.exs [new file with mode: 0644]

diff --git a/euler/elixir/0001-sum-of-multiples.exs b/euler/elixir/0001-sum-of-multiples.exs
new file mode 100644 (file)
index 0000000..db9ce1c
--- /dev/null
@@ -0,0 +1,13 @@
+defmodule SumOfMultiples do
+  def is_multiple_of_3_or_5?(n) do
+    (rem(n, 3) == 0) or (rem(n, 5) == 0)
+  end
+
+  def run(limit) do
+    range = 0..(limit - 1)
+    filtered_range = Enum.filter(range, &(is_multiple_of_3_or_5?(&1)))
+    Enum.sum(filtered_range)
+  end
+end
+
+IO.puts(SumOfMultiples.run(1000))