Skip to content

Instantly share code, notes, and snippets.

@vishaldpatel
Created March 23, 2019 02:00
Show Gist options
  • Select an option

  • Save vishaldpatel/06fa45574aa28137a7fa7e95e5146a39 to your computer and use it in GitHub Desktop.

Select an option

Save vishaldpatel/06fa45574aa28137a7fa7e95e5146a39 to your computer and use it in GitHub Desktop.
A fibonacci number generator that is pretty quick written in Elixir
defmodule BetterFib do
# Fib Calculator that pushes totals forward
def fib(num) when is_number(num) and num == 0, do: 0
def fib(num) when is_number(num) and num == 1, do: 1
def fib(num) when is_number(num) and num >= 2 do
numList = Enum.to_list(2..num)
fib(0, 1, num, numList)
end
def fib(_minusTwo, answer, _num, []), do: answer
def fib(minusTwo, minusOne, _prevAnswer, [currentIndex | numList]) when is_list(numList) do
current = minusOne + minusTwo
fib(minusOne, current, currentIndex, numList)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment