X-Git-Url: https://code.kerkeslager.com/?p=sandbox;a=blobdiff_plain;f=euler%2Felixir%2F0002-sum-of-fibonacci.exs;fp=euler%2Felixir%2F0002-sum-of-fibonacci.exs;h=0000000000000000000000000000000000000000;hp=350ef01bc5aeec40cae03b6cea5fd9179989f07f;hb=84ed7dbc7fb20d2646f6783b4ed91a8e653092eb;hpb=1759f874db778ad1e9ac9c6881879f5a5f1073e0 diff --git a/euler/elixir/0002-sum-of-fibonacci.exs b/euler/elixir/0002-sum-of-fibonacci.exs deleted file mode 100644 index 350ef01..0000000 --- a/euler/elixir/0002-sum-of-fibonacci.exs +++ /dev/null @@ -1,20 +0,0 @@ -defmodule SumOfEvenFibonacci do - def fibonacci_stream() do - items_with_prev = Stream.iterate({0,1}, fn({prev, curr}) -> {curr, prev + curr} end) - Stream.map(items_with_prev, fn({_, curr}) -> curr end) - end - - def fibonacci_to(limit) do - Stream.take_while(fibonacci_stream(), fn(n) -> n < limit end) - end - - def filter_even(stream) do - Stream.filter(stream, fn(n) -> rem(n, 2) == 0 end) - end - - def even_fibonacci_to(limit) do - filter_even(fibonacci_to(limit)) - end -end - -IO.inspect(Enum.sum(SumOfEvenFibonacci.even_fibonacci_to(4_000_000)))