这是本文档旧的修订版!
在本文中,采用习惯记号,素数p在n中的幂次记为:
$$v_p(n)$$
代表p的这个幂次恰好整除n,而比这个值更高的幂次无法整除n。由于“恰好整除”记号(双竖线)容易和C语言“或”运算混淆,故不采用恰好整除记号。
另外一个记号也在后文出现,p进制下n的各位数字和:
$$S_p(n)$$
这个记号不一定要求p是素数,只是后文的p均为素数。
阅读本文时,希望能提前大致了解模p的缩系乘法群的相关知识。
因为p进赋值的主体部分是数论一个艰深的分支,这里只阐述p进赋值的初始观点,不做深入研究,仅为了方便理解后文的内容。
(待续)
又叫LTE,这个英文缩写来源于高中数学竞赛以讹传讹的叫法,未知其确切含义。总之现在统称升幂定理。
由于缩系乘法群的结构不同,根据素数为奇素数或2,分为LTEP定理和LTE2定理两部分。
(待续)
(待续)
一般在解析数论研究中偏爱这个式子,最早是由Gauss研究的:
(一个无穷取整求和式,待补充)
这里推荐使用更加流行而简单的公式,替代上面这个繁杂的式子。它用到了文章开头的p进制下各位数字和:
$$v_p(n!)=\frac{n-S_p(n)}{p-1}$$
与等比数列求和公式很相似。由于涉及各位数字和,利用数学归纳法可以轻松证明。
(一个公式待补充)
如果仔细分析,p是否整除组合数其实和上下标在p进制下减法是否需要借位有关。这就有了下面的定理。
(待补充)
不是Lucario
结合上面“素数在组合数中的幂次”一同分析。上面的部分用于计算当组合数被p整除时,一共能被多少个p整除(仅判断模p的幂是否为0);而这里则研究当组合数不被p整除时,模p余多少。
(待补充)
至于到算法层面,还有与中国剩余定理结合的扩展卢卡斯算法(exlucas),用于解决模p的幂的余数问题。由于本文注重数学部分,这里不再讲解。