详细代码请到 「Thematic001. 数论专题」 中查看
目录
分解质因数
欧拉函数
定义
$\varphi$($x$) 表示求在 $1$ 到 $x$ 的整数中有多少个数与 $x$ 互质
求 $\varphi(n)$
性质
- $\varphi(1)=\varphi(2)=1$,其余的欧拉函数均为偶数
- 当 $n$ 为素数时,$\varphi(n)=n-1$
- 欧拉函数是积性函数,但不是完全积性。
即当 $\gcd(n,m)=1$ 时,$\varphi(nm)=\varphi(n)\varphi(m)$
- 当 $n$ 为奇数时,$\varphi(2n)=\varphi(n)$
- 当 $n$ 为素数时,$\varphi(n^{k})=(n-1)\times n^{k-1}$
- 当 $n \geq 1$ 时,$1$ 到 $n$ 中所有与 $n$ 互质的数的和为 $\frac{\varphi(n)}{2}\times n$
证明:
若 $\gcd(n,i)=1$,那么 $\gcd(n,n-i)=1$
即 与 $n$ 互质的数是成对出现的,而且每一对的和都为 $n$。 - 如果 $k \bmod p = 0$ 且 $p$ 为素数,那么 $\varphi(kp)=\varphi(k)\times p$
- 如果 $k \bmod p \neq 0$ 且 $p$ 为素数,那么 $\varphi(kp)=\varphi(k)\times (p-1)$
- 如果 $\gcd(a,p)=1$ ,那么 $a^{\varphi(p)}\equiv 1 \pmod p$
约数
求 $n$ 的正约数个数
求 $n$ 所有正约数的和
最大公约数 & 最小公倍数
定理
求最大公倍数
- 更相减损术
- 欧几里得($\text{ }$辗转相除法$\text{ }$)
- 二进制算法
乘法逆元
解决的问题
求下面关于 $x$ 的同余方程的整数解
定理
求乘法逆元
欧几里得(拓展)
可以将上面的同余方程化为
快速幂
这里需要用到费马小定理
若 $a$ 为正整数,$b$ 为素数,$a,b$ 互质,则有
把这个式子代入 $ax \equiv 1 \pmod b$ 中,得
所以这时候方程的解就是 $a^{b-2} \bmod b$
欧几里得(拓展)
解决的问题
求下面关于 $x,y$ 的不定方程的整数解
定理
若不定方程有整数解,则
若关于这个不定方程的一组解为 $x_{0},y_{0}$, 则这个不定方程的特殊解为
最小解为
中国剩余定理
解决的问题
已知关于 $x$ 的同余方程组
并且
求整数解 $x$
过程
中国剩余定理(拓展)
解决的问题
已知关于 $x$ 的同余方程组
并且
求整数解 $x$
过程
先看两个方程
尝试合并两个式子
转换成
则有
由于 $x_{1},x_{2}$ 与符号无关,变形得到
此处放上欧几里得(拓展)的式子
由裴蜀定理得
带入此式,得
令
则有
用欧几里得(拓展)解 $(2)$ 得
设 $(1)$ 的解为
则有
由前面的「欧几里得(拓展)」的最小值公式得
将 $(3)$ 代入前面的 $x=m_{1}\times x_{1}+b_{1}$ 得
合并完成!
继续合并……
合并到最后,方程组就变成了
$x_{0}$ 即为方程组的一个整数解