from functools import lru_cache import math n = int(input('n = ')) z = 0 @lru_cache(maxsize=64) def fib(n): global z z +=1 if n < 2: return n return fib(n-1) + fib(n-2) for i in range(n+1): print('fib(',i,') = ',fib(i)) print('# Aufrufe: ',z) print('log(# Aufrufe) =',round(math.log2(z),1)) print()