aboutsummaryrefslogtreecommitdiffstats
path: root/002.ex
blob: f58cc4c7342ce2dbee4a37a4782ebde6792d677a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
defmodule Fib do
  def fib(1) do 1 end
  def fib(2) do 2 end
  def fib(n) do fib(n - 1) + fib(n - 2) end

  def solve(list, count) do
    if (n = fib(count)) < 4000000 do
      [if rem(n, 2) == 0 do n else 0 end | list]
      |> solve(count + 1)
    else list end
  end
end

IO.puts(Enum.sum(Fib.solve([0], 1)))
remember that computers suck.