diff options
author | Romain Gonçalves <me@rgoncalves.se> | 2022-01-28 18:51:40 +0100 |
---|---|---|
committer | Romain Gonçalves <me@rgoncalves.se> | 2022-01-28 18:51:40 +0100 |
commit | 24b3966960a65775bfffca514600e2e47304d000 (patch) | |
tree | 332e19d923e1bf930c5370e97e84d9ab74f9e438 | |
parent | 7f93a4f807499441826042f59f9d5dad59854e69 (diff) | |
download | projecteuler-24b3966960a65775bfffca514600e2e47304d000.tar.gz |
002: Add python and elixir solutions
-rw-r--r-- | 002.ex | 14 | ||||
-rw-r--r-- | 002.py | 8 |
2 files changed, 22 insertions, 0 deletions
@@ -0,0 +1,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))) @@ -0,0 +1,8 @@ +def fibo(max): + a, b = 1, 2 + while a < max: + yield a + a, b = b, a + b + + +print(sum(list(filter(lambda n: n % 2 == 0, list(fibo(4000000)))))) |