「Note」数论方向 - 数论基础
0. 前置知识
0.1. 费马小定理
由此可以推出模意义下乘法逆元:
0.2. 威尔逊定理
0.3. 线性筛
1. 扩展欧几里得算法
1.1. 简介
扩展欧几里得算法用于求 \(ax+by=\gcd(a,b)\) 的一组特解(整数解)。
推导如下:
设 \(\begin{cases}ax_1+by_1=\gcd(a,b)\\bx_2+(a\mod b)y_2=\gcd(b,a\mod b)\end{cases}\)
由欧几里得算法可知 \(\gcd(a,b)=\gcd(b,a\mod b)\)。
联立有:
可得:
最后在求 \(\gcd\) 的过程中求解 \(x,y\) 即可。
1.2. 常见技巧
1.2.1. 二元一次不定方程通解
对于 \(ax+by=c\) 这种一元二次不定方程,由裴蜀定理可知,当 \(\gcd(a,b)\nmid c\) 时,此方程无整数解。
当有整数解时,我们将其转化为 \(ax+by=\gcd(a,b)\) 的形式,然后用扩展欧几里得算法求解。
我们设扩展欧几里得算法求出的解为 \(X,Y\),\(ax+by=c\) 方程所求的一组特解为 \(x',y'\),有:
因为 \(ax'\) 与 \(by'\) 的和恒为 \(c\),有:
其中,我们要保证 \(x'+db,y'-da\) 均为整数,取得最小变化量:
最后得出通解形式:
接下来是关于正整数解的内容。
限制 \(x,y>0\),解得:
至此,我们可以判断正整数解个数。当 \(s\) 取极值时,我们也可求出 \(x,y\) 的极值。
1.3. 例题
咕咕咕
2. 欧拉函数(施工中)
2.1. 基本定义与性质
约定:
以下讨论均基于正整数域。
欧拉函数 \(\varphi(n)\) 表示 \([1,n]\) 范围内与 \(n\) 互质的数的个数。
有定义式: \(\varphi(n)=\sum\limits_{i=1}^{n}[\gcd(n,i)=1]\) 。
有计算式:设 \(n\) 被唯一分解为 \(\prod\limits_{i=1}^mp_i^{c_i}\)(\(p_i\) 为质数),\(\varphi(n)=n\times\prod\limits_{p_i}^m\left(1-\dfrac1{p_i}\right)\)。
证明:
先假设 \(m=2\),可以写出式子并因式分解: \(\varphi(n)=n-\frac{n}{p_1}-\frac{n}{p_2}+\frac{n}{p_1p_2}=n(1-\frac{1}{p_1})(1-\frac{1}{p_2})\)。
进一步地,可将式子推广为\(\varphi(n)=n\times\prod\limits_{p_i}^m\left(1-\dfrac1{p_i}\right)\)。
int phi(int x) {
int res = x;
for (int i = 2; i * i <= x; i++)
if (x % i == 0) {
while (x % i == 0)
x /= i;
res = res / i * (i - 1);
}
return res / x * max(1, x - 1);
}
性质 \(1\)(积性):若 \(a\perp b\),则 \(\varphi(ab)=\varphi(a)\times\varphi(b)\)。
\(a\perp b\) 即 \(\gcd(a,b)=1\),表示 \(a,b\) 互质。
积性函数:当 \(a\perp b\) 时,有 \(f(ab)=f(a)\times f(b)\),则称函数 \(f(x)\) 为积性函数。
完全积性函数:任意条件下有 \(f(ab)=f(a)\times f(b)\),则称函数 \(f(x)\) 为完全积性函数。
证明:
设 \(a=\prod\limits_{i=1}^{m_a}p_i^{c_i},b=\prod\limits_{i=1}^{m_b}q_i^{c_i}\),因为 \(a\perp b\),有 \(p_i\not=q_j\),故 \(ab=\prod\limits_{i=1}^{m_a}p_i^{c_i}\times\prod\limits_{i=1}^{m_b}q_i^{c_i}\),由计算式得出:
性质 \(2\):对于质数 \(p\),有 \(\varphi(p)=p-1,\varphi(p^k)=(p-1)\times p^{k-1}\)。
证明:
对于 \(\varphi(p)=p-1\),由质数定义易知。
对于 \(\varphi(p^k)=(p-1)\times p^{k-1}\),考虑所有不是 \(p\) 的倍数的数都与 \(p^k\) 互质,有 \(\varphi(p^k)=p^k-p^{k-1}=(p-1)\times p^{k-1}\)。
性质 \(3\):若 \(a\mid b\),则 \(\varphi(ab)=a\times\varphi(b)\)。
证明:
将两者拆分,代入 \(\varphi(ab),\varphi(b)\) 计算式,对比结果可得此性质。
换一种理解方式,\(ab\) 相对 \(b\) 并没有增加质因子,所以与 \(b\) 互质的数仍然与 \(b\) 互质,整个过程看做将值域扩展到 \([1,ab]\),其中与 \(b\) 互质个数显著为 \(a\varphi(b)\),因为与 \(b\) 互质的数加上 \(kb(k\in\Z)\) 后仍然与 \(b\) 互质。
性质 \(4\):若 \(p\) 为质数且 \(p\mid n\),则有:
性质 \(5\):\(\forall n>1\),\([1,n]\) 中与 \(n\) 互质的数字和为 \(\frac{n\times\varphi(n)}{2}\)。
证明:
有 \(\gcd(n,x)=gcd(n,n-x)\),所以 \([1,n]\) 中与 \(n\) 互质的数成对出现,并且平均值为 \(n/2\),可得出此结论。
性质 \(6\):若 \(a\mid b\),则 \(\varphi(a)\mid\varphi(b)\)。
证明:
由计算式得到,是显著的。