Skip to main content

数论

数论是纯粹数学的一个分支,主要研究整数的性质。

素数

本文将介绍素性测试的试除法、Fermat 测试与 Miller–Rabin,并附常见素数表。

最大公约数

本文将介绍欧几里得算法求最大公约数,以及扩展欧几里得算法求解 ax+by=gcd(a,b)。

欧拉函数

本文将介绍欧拉函数的定义与积性连乘公式,并给出欧拉定理与扩展欧拉定理的降幂公式。

筛法

本文将介绍埃氏筛与线性欧拉筛,以及用欧拉筛递推欧拉函数、莫比乌斯函数等积性函数的方法。

分解质因数

本文将介绍分解质因数的朴素试除法,以及快速分解大整数的 Pollard Rho 算法。

模逆元

本文将介绍模逆元的三种求法,快速幂配合费马小定理、扩展欧几里得,以及线性递推批量求逆。

中国剩余定理

本文将介绍中国剩余定理求解模数互质的同余方程组,并给出模数不互质时逐步合并的扩展版本。

二次剩余

本文将介绍二次剩余与欧拉判别法,以及求解一个平方根的 Cipolla 算法。

原根

本文将介绍阶与原根的概念、原根存在条件与判定定理,以及求最小原根并生成全体原根的方法。

离散对数

本文将介绍离散对数,用大步小步算法 BSGS 求解,并说明不互质时的扩展 BSGS。

数论分块

本文将介绍数论分块,利用向下取整商只有根号 n 种取值按段求和,快速计算整除型和式。

莫比乌斯反演

本文将介绍莫比乌斯函数与反演公式,以及配合数论分块求解 gcd 型和式的方法。

杜教筛

本文将介绍杜教筛,构造辅助函数用狄利克雷卷积递推数论函数前缀和,复杂度 O(n^(2/3))。

Min_25 筛

本文将介绍 Min_25 筛,分两步求积性函数前缀和,先算素数处贡献再按最小质因子递推合数。

类欧几里德算法

本文将介绍类欧几里德算法,仿照辗转相除在对数时间内求取整求和及其推广形式。

Stern–Brocot 树

本文将介绍 Stern–Brocot 树的构造与三条性质,以及借连分数在树上查找分数路径的方法。