数论笔记

·质数

素数定理:

\(x \geq 1\) , 以 \(\pi(x)\) 表示不超过 \(x\) 的素数的个数。
\(x \rightarrow \infty\) 时,\(\pi(x) \to \dfrac{x}{\ln(x)}\)

质数筛法

1.埃式筛:从小到大一次枚举质数,将 \(\left[1, n\right]\) 内的所有倍数都标记为合数,未被标记的则为质数。

2.线性筛:保证对任一合数,只会被其最小质因数标记。对于每一个数 \(i\) ,从小到大枚举当前质数集 \(p\)\(p_j \leq i\) ,标记合数 \(i \times p_j\) ,若 \(p_j|i\) 说明 \(i = p_j \times u\) ;对于 \(p_j<p_k\leq i\)\(i \times p_k = p_j \times u \times p_k\) ,当 \(i = u \times p_k\) 时能被 \(p_j\) 筛掉的,筛质数的过程就不需要 \(p_k\) 参与了。

·约数

约数个数公式

一个整数N,可表示成 \(N = p_1 ^ {r_1} \cdot p_2 ^ {r_2} \cdot \cdots \cdot p_n^{r_n}\)
可得 \(N\) 的约数个数

\[(r_1+1)\times(r_2+1)\times\cdots\times(r_n + 1) = \prod_{i = 1} ^ n (r_i + 1) \]

·欧拉函数

欧拉函数 \(\phi(n)(n\in N^*)\) 表示小于等于你 \(n\) 的正整数中与 \(n\) 互质的个数,即:

\[\phi(n) = \sum_{i = 1} ^ n \left[\gcd(i, n) = 1\right] \]

若对 \(n\) 分解质因数使得 \(n = p_1^{k_1}p_2^{k_2}\cdots p_m^{k_m}\) ,可得:

\[\frac{\phi(n)}{n} = \prod_{i = 1} ^ m (1 -\frac{1}{p_i}) \]

证明1:

\(p_1, p_2\)\(n\) 的质因数, 则在 \(\left[1, n\right]\)\(\dfrac{n}{p_1}\)\(p_1\) 倍数,有 \(\dfrac{n}{p_2}\)\(p_2\) 倍数, 根据容斥原理,可得 \([1, n]\) 中不能被 \(p_1, p_2\) 整除的数共有:

\[n - (\frac n {p_1} + \frac n {p_2} - \frac{n} {p_1\times p_2}) = n\times(1 - \frac 1 {p_1} )\times(1 - \frac 1 {p_2}) \]

归纳可得,即对于 \(n\) 的所有质因数 \(p_1, p_2, \cdots,p_m\) 可得:

\[\frac{\phi(n)} {n} = \prod_{i = 1} ^ m(1 - \frac 1 {p_i}) \]

证明2:

\(n = 1\) ,则 \(\phi(1) = 1\) ;

\(n\) 是质数, 则 \(\phi(n) = n - 1\) ,因为质数与小于它的每个正整数都互质;

\(n = p^k\) ( \(p\) 为质数, \(k\in N ^ *\) ),则小于等于 \(n\) 的数中,因子包含质数 \(p\) (也就是不存在互质)的数共计 \(p^{k - 1}\) 个, 即 \(p\times1,p\times2, \cdot\cdot\cdot, p \times p^{k - 1}\) ,剩余与 \(p_k\) 互质的数为:

\[\phi(p^k) = p^k - p^{k - 1} = p^k(1 - \frac 1 p) \]

\(n = p \cdot q\) ,而且 \(p, q\) 互质,有 \(\phi(n) = \phi(p\cdot q) = \phi(p) \cdot \phi(q)\)(欧拉函数是积性函数)[积性函数指对于所有互质的整数 \(a\)\(b\) 有性质 \(f(a\cdot b) = f(a) \cdot f(b)\) 的数论函数]

证明:将 \(\left[1, p\times q\right]\) 的值排列如下

\[\begin{matrix} &1 &2 &\cdots &i &\cdots &q\\ &1 + q &2 + q &\cdots &i + q &\cdots &2q\\ &1 + 2q &2 + 2q &\cdots &i + 2q &\cdots &3q\\ &\vdots &\vdots &\ddots &\vdots &\ddots &\vdots\\ &1 + jq &2 + jq &\cdots &i + jq &\cdots &(j + 1)q\\ &\vdots &\vdots &\ddots &\vdots &\ddots &\vdots\\ &1 + (p - 1)q &2 + (p - 1)q &\cdots &i + (p - 1)q &\cdots &p \end{matrix} \]

对于每一行数 \(i + jq\) ,其对 \(q\) 取余的余数为 \([1,2,3,…,q-1,0]\) ,即有 \(\phi(q)\) 个数与 \(q\) 互质;对于每一列数 \(i + jq, j \in [0, p − 1]\) ,由于 \(p, q\) 互质,同理也有 \(\phi(p)\) 个数与 \(p\) 互质。

对于任一与 \(p\times q\) 互质的数 \(a(a < p \times q)\),若 \(a\)\(p\) 互质,\(a\)\(q\) 互质,则 \(a\) 属于这 \(\phi(q)\) 行、\(\phi(p)\)列中的某一数。这样的 \(a\) 总共有 \(\phi(p) \cdot \phi(q)\) 个。即

\[\phi(p\cdot q) = \phi(p) \cdot \phi(q) \]

通式:

对于任意一个非 \(1\) 的正整数,都可写成一系列质数之积:\(n = p_1^{k_1}\cdot p_2^{k_2}\cdots p_m^{k_m}\) ( \(p_1, p2, \cdots , p_m\) 都为质数)

由于欧拉函数的积性性质 \(\phi(p\cdot q) = \phi(p) \cdot \phi(q)\) 可得 :

\[\phi(n) = \phi(p_1^{k_1})\phi(p_2^{k_2})\cdots\phi(p_m ^ {k_m}) \]

由式 \(\phi(p^k) = p^k - p ^ {k - 1} = p^k( 1-\dfrac 1 p)\) 可得

\[\begin{aligned} \phi(n) &= p_1 ^ {k_1}(1- \dfrac {1}{p_1})p_2 ^ {k_2}(1- \dfrac {1}{p_2})\cdots p_m ^ {k_m}(1- \dfrac {1}{p_m})\\ &=p_1^{k_1}p_2^{k_2}\cdots p_m^{k_m}(1 - \dfrac{1}{p_1})(1 - \dfrac{1}{p_2})\cdots(1 - \dfrac{1}{p_m}) \end{aligned} \]

\(\phi(n) = n\cdot\prod_{i = 1} ^ m(1 - \dfrac{1}{p_i})\)

欧拉函数性质:

· \(\phi(a\cdot b) = \phi(a) \cdot \phi(b) \cdot \dfrac{d}{\phi(d)}, d = \gcd(a, b)\)

· \(\left[1, n\right]\) 中所有与 \(n\) 互质的数之和为 \(\dfrac{\phi(n) \times n}{2}\)

· \(\sum_{i|n}\phi(i) = n\)

·
\(\phi(n) = \begin{cases} \phi(\dfrac{n}{p}) \times p, &p | n, p^2 \ n\\ \phi(\dfrac{n}{p}) \times (p - 1), &p | n,p^2 \nmid n \end{cases}\)

· 不定方程

不定方程指未知数的个数多于方程个数,且未知数受到某种限制(如要求是有理数、整数或正整数等等)的方程或方程组。

二元一次不定方程:就是形如 \(ax + by = c\) 的方程,其中 \(a, b, c\) 已知。

解法:

1.判断是否有解(裴蜀定理:\(a, b\) 是不全为 \(0\) 的整数 \(x, y\) , 使得 \(ax + by = \gcd(a, b\)

\(\qquad\)\(c \mod \gcd(a, b) \not = 0\) ,那么方程不存在整数解。

2.化简、转化

\(\qquad\) 方程可转化为 \(a'x + b'y = c',\)
\(\qquad\) 其中 \(a' = \dfrac{a}{\gcd(a,b)}, b' = \dfrac{b}{\gcd(a,b)},c' = \dfrac{c}{\gcd(a,b)}\)

3.用扩欧求特解

扩展欧几里得(exgcd)定理:

对于两个不全为 \(0\) 的整数 \(a, b\) ,必有一组解 \(x, y\) ,使得 \(ax + by = \gcd(a, b)\)

对于方程 \(a'x + b'y = c'\) ,我们知道 \(\gcd\) 有一个性质为 \(\gcd(a, b) = \gcd(b, a \mod b)\) ,若辗转相除法求到最后, \(b'\) 将等于 \(0\) ,此时 \(x = \dfrac{c'}{a'}, y = 0\) 。这就求出了一组特解。

而对于方程 \(ax + by = \gcd(a, b)\) ,用扩欧实现即可。

由扩展欧几里得定理:\(ax + by = \gcd(a, b)\)

可知若此时 \(b=0\) ,说明 \(\gcd(a, 0) = a\)

原式变为 \(ax + by = a \to x = 1,y = 0\)

posted on 2023-01-22 15:23  Elegos  阅读(78)  评论(0)    收藏  举报

导航