tlacyl/python/fib.py

29 lines
544 B
Python

def fib(n, counter):
if n == 0 or n == 1:
return n
else:
counter.append(1)
print("calling fib")
return fib(n - 1, counter) + fib(n - 2, counter)
def fib_memo(n, memo={}, counter=[]):
if n == 0 or n == 1:
return n
if not memo.get(n):
counter.append(1)
memo[n] = fib_memo(n - 1, memo, counter) + fib_memo(n - 2, memo, counter)
return memo[n]
count = []
fib(6, counter=count)
sum(count)
fib_counter = []
fib_memo(6, memo={}, counter=fib_counter)
sum(fib_counter)