小谈递归---recursion(2)

memo={1:1,2:2,3:6}
def fibonacci(n):
    """memo 的用法"""
    if n in memo:
        return memo[n]
    
    res = fibonacci(n -1) * n
    memo[n] = res
    return res

print(fibonacci(6))

这里用上dict(),保存了一系列的初始值,其实就大大减少了运算量和内存,
妙啊...

reference:
《像计算机科学家一样学python》

你可能感兴趣的:(小谈递归---recursion(2))