From 1a7717e25e93599666803bb11f80c87117b01114 Mon Sep 17 00:00:00 2001 From: s-lando Date: Sun, 13 Nov 2022 15:01:02 -0800 Subject: elixir fibs --- entries/s-lando/fib.ex | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 entries/s-lando/fib.ex (limited to 'entries/s-lando') diff --git a/entries/s-lando/fib.ex b/entries/s-lando/fib.ex new file mode 100644 index 0000000..e4783d6 --- /dev/null +++ b/entries/s-lando/fib.ex @@ -0,0 +1,19 @@ +defmodule Fib do + # elegant + def fib(n) when n < 2, do: n + def fib(n), do: fib(n - 1) + fib(n - 2) + + + # less elegant + def fib2(n) do + fib2(n, 0, 1) + end + + def fib2(n, current, next) do + cond do + n == 0 -> current + n == 1 -> next + true -> fib2(n - 1, next, current + next) + end + end +end -- cgit v1.2.3-70-g09d2