1. def fib(n):
2. i, curr, next = 0, 0, 1
3. while i < n:
4. i += 1
5. curr, next = next, curr + next
6. return curr
Python tail-recursive solution* 1. def fib(n):
2. def fib_tail(i, curr, next): #1
3. if i >= n: #2
4. return curr #3
5. return fib_tail(i+1, next, curr+next) #4
6. return fib_tail(0, 0, 1)
Some explanation of the 1-1 conversion process:
https://informationisbeautiful.net/visualizations/spotify-ap...