因为我数论比较特别菜,所以我是看了别人的博客之后才来写自己的理解的。
并且时间紧急,环境简陋,于是公式什么的我就直接抄了【所以变量名什么的也就一样了。
Lucas
Lucas是用于解决一些组合数取模运算的定理,常常在阶乘无法解决的时候我们会想到ta。
在了解Lucas的实现方法之前,我们先来证明一个东西。
我们只需要把他拆开, 下面↓ 这个地方少了一个 “ = ” 符号
证毕。
那么我们接下来,就利用这个性质以及二项式定理,来推一下结论。
二项式定理:
可以很容易的得到:【我手推过了只要认真是肯定很显然的
那么我们接下来证明:
我们发现,左边只有一项,而右边有好多项,所以把它拆开。
我们设。
那么上面的式子经过移项变形,就变成了这样:
我们发现ta其实是存在子母问题关系的,所以可以递归求解。
好的,那么我们回到二项式定理,证明
展开(1+x)lp,得到下面的东西:
仔细观察一下系数的关系。
¤这里采用了向下取整,一定要注意。
证毕。