用户工具

站点工具


2020-2021:teams:namespace:素数幂次与p进数问题

这是本文档旧的修订版!


素数幂次问题

记号约定

在本文中,采用习惯记号,素数p在n中的幂次记为:

$$v_p(n)$$

代表p的这个幂次恰好整除n,而比这个值更高的幂次无法整除n。由于“恰好整除”记号(双竖线)容易和C语言“或”运算混淆,故不采用恰好整除记号。

另外一个记号也在后文出现,p进制下n的各位数字和:

$$S_p(n)$$

这个记号不一定要求p是素数,只是后文的p均为素数。

阅读本文时,希望能提前大致了解模p的缩系乘法群的相关知识。

p进赋值

因为p进赋值的主体部分是数论一个艰深的分支,这里只阐述p进赋值的初始观点,不做深入研究,仅为了方便理解后文的内容。

(待续)

升幂定理

总述

又叫LTE,这个英文缩写来源于高中数学竞赛以讹传讹的叫法,未知其确切含义。总之现在统称升幂定理。

由于缩系乘法群的结构不同,根据素数为奇素数或2,分为LTEP定理和LTE2定理两部分。

LTEP

(待续)

LTE2

(待续)

素数在阶乘中的幂次

一般在解析数论研究中偏爱这个式子,最早是由Gauss研究的:

(一个无穷取整求和式,待补充)

这里推荐使用更加流行而简单的公式,替代上面这个繁杂的式子。它用到了文章开头的p进制下各位数字和:

$$v_p(n!)=\frac{n-S_p(n)}{p-1}$$

与等比数列求和公式很相似。由于涉及各位数字和,利用数学归纳法可以轻松证明。

素数在组合数中的幂次

(一个公式待补充)

如果仔细分析,p是否整除组合数其实和上下标在p进制下减法是否需要借位有关。这就有了下面的定理。

(待补充)

Lucas定理

不是Lucario

结合上面“素数在组合数中的幂次”一同分析。上面的部分用于计算当组合数被p整除时,一共能被多少个p整除(仅判断模p的幂是否为0);而这里则研究当组合数不被p整除时,模p余多少。

(待补充)

至于到算法层面,还有与中国剩余定理结合的扩展卢卡斯算法(exlucas),用于解决模p的幂的余数问题。由于本文注重数学部分,这里不再讲解。

2020-2021/teams/namespace/素数幂次与p进数问题.1591028862.txt.gz · 最后更改: 2020/06/02 00:27 由 great_designer