003《Python数据分析、挖掘与可视化(第2版)》/例4-4.py
from functools import lru_cache

# 使用修饰器,增加用来记忆中间结果的缓存
@lru_cache(maxsize=64)
def cni(n,i):
    if n==i or i==0:
        return 1
    return cni(n-1,i) + cni(n-1,i-1)