⚠️ fib(3) 被算了多少遍
用朴素递归算 fib(12),数一数其中 fib(3) 这一个子问题被算了几遍。运行下面这段程序:
def fib_hit(n, k, st):
if n == k:
st["h"] += 1
if n < 2:
return n
return fib_hit(n - 1, k, st) + fib_hit(n - 2, k, st)
st = {"h": 0}
fib_hit(12, 3, st)
print(st["h"])
全部评论