diff options
Diffstat (limited to 'scratch/facebook/nth-fibonacci.py')
-rw-r--r-- | scratch/facebook/nth-fibonacci.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/scratch/facebook/nth-fibonacci.py b/scratch/facebook/nth-fibonacci.py new file mode 100644 index 000000000000..f524067b3b44 --- /dev/null +++ b/scratch/facebook/nth-fibonacci.py @@ -0,0 +1,13 @@ +# 0, 1, 1, 2, 3, 5 +def fib(n): + if n < 0: + raise Exception("Need to supply an index that's >= 0. Not: {}".format(n)) + elif n in {0, 1}: + return n + state = [0, 1] + for i in range(1, n): + state[0], state[1] = state[1], state[0] + state[1] + return state[-1] + +for i in range(10): + print("fib({}) => {}".format(i, fib(i))) |