No, that guy didn't "do nothing". He killed it in task explorer instead of just pressing no.
1. Direct recursion
2. Keep track of the two previous terms
If you start with (1), you run it and it takes exponential time, and so you should instead remember the two previous terms, leading you to (2). When you go with (2), you either use 2 mutable variables and a loop in the imperative version, or you have 2 accumulators and tail recursion in the functional version... which is the same thing, since a tail recursive function is just a named loop. fibs a b = a : fibs b (a + b)
fib n = fibs 0 1 !! n