Skip to content

Instantly share code, notes, and snippets.

@akm
Last active August 29, 2015 14:05
Show Gist options
  • Select an option

  • Save akm/935aa335f00e6028e902 to your computer and use it in GitHub Desktop.

Select an option

Save akm/935aa335f00e6028e902 to your computer and use it in GitHub Desktop.
-module(recursive).
-export([split/2]).
-export([fib/1]).
split(D, L) -> split(D, L, [], []).
split(_, [] , R, W) -> [lists:reverse(X) || X <- lists:reverse([W|R])];
split(D, [D|T], R, W) -> split(D, T, [W|R], []);
split(D, [H|T], R, W) -> split(D, T, R, [H|W]).
fib(0) -> 0;
fib(1) -> 1;
fib(N) -> fib(N, 1, 1).
fib(2, _, B) -> B;
fib(N, A, B) -> fib(N - 1, B, A + B).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment