时钟只有 12 个刻度,却能表达任意长的时间——因为它把无限长的数轴卷成了一个圈。同余就是这件事的一般化:只保留「除以 $n$ 剩多少」,把差了 $n$ 的整倍数的数当成同一个。
日历是最贴身的例子。一年 $365 = 52\times 7 + 1$,多出的那 1 天正是「今年生日周二、明年就周三」的全部原因;闰年多 2 天。整个星期几的推算,不过是在一个 7 格的圈上数步子。
$a\equiv b \pmod n$ 意为 $n$ 整除 $a-b$。关键性质是运算能「穿过取余」:
乘法同理。这句不起眼的话意味着可以先压缩再计算——算 $7^{1000}\bmod 13$ 不必先算出那个 845 位数。$n$ 为素数 $p$ 时,$\mathbb{Z}/p\mathbb{Z}$ 里每个非零元都有乘法逆元,它是一个完备的有限域:加减乘除俱全,却只有 $p$ 个元素。
这是数学中罕见的「无损压缩」:无穷多整数被塞进 $n$ 个抽屉,而算术结构毫发无伤。有限域的存在更反直觉——我们习惯把「除法自由」和「无穷」绑在一起(有理数、实数),$\mathbb{Z}/p\mathbb{Z}$ 却证明一个只有 7 个数的宇宙同样可以做完整的代数。整个现代密码学与纠错码,都住在这些小宇宙里。
ISBN 与身份证的校验位是加权和取模,敲错一位立刻暴露;哈希表用 $\bmod$ 桶数落位;分布式系统的一致性哈希环本质是 $\mathbb{Z}/2^{32}\mathbb{Z}$ 的几何化——节点与键都映到同一个圈上,加减机器只影响相邻弧段。蔡勒公式把任意日期折成星期几;RSA 的全部运算发生在 $\bmod N$ 里。
判断一个 300 位数是否素数,试除法要试约 $10^{150}$ 次——宇宙寿命远远不够。突破口在于换个问法:不去解剖它找因子,而去测它的行为。
费马小定理说:若 $p$ 是素数,则对任何不被 $p$ 整除的 $a$ 都有 $a^{p-1}\equiv 1\pmod p$。于是取 $a=2$ 算一下,若结果不是 1,立刻可断定它是合数——而我们对它的因子一无所知。这是测谎,不是解剖。
Miller–Rabin 把这个测谎器加固。把 $n-1$ 写成 $2^s d$($d$ 为奇数),若 $n$ 是素数,则对任意 $a$:
理由干净:在域 $\mathbb{Z}/p\mathbb{Z}$ 里方程 $x^2=1$ 只有 $x=\pm 1$ 两个根。从 $a^{n-1}\equiv1$ 出发不断开平方,序列若要离开 1,必须先经过 $-1$。合数缺少「只有两个平方根」这条纪律,很容易在中途露出第三种值。每换一个随机 $a$,合数蒙混过关的概率不超过 $1/4$,$k$ 轮之后降到 $4^{-k}$。
证明「不是素数」竟然不需要出示任何因子——存在性与构造在此彻底分家,而这道裂缝有货币价值:我们能在毫秒内造出素数,却造不出快速分解它们乘积的方法。同一族定理,正着用是造钥匙,反着用是砸不开的锁,整个公钥体系就架在这个不对称上。
另一重美是确定性可以按需购买:40 轮 Miller–Rabin 的误判率约 $10^{-24}$,低于硬件被宇宙射线翻位的概率。2002 年 AKS 算法证明素性判定属于 P,理论问题落幕;实践却仍在用概率算法,因为它快得多。「多项式时间=可行」这个信条,在这里被现实轻轻顶了一下。
每一次 TLS 握手、每一把新生成的 SSH 密钥,背后都在跑这套流程:先用几百个小素数试除筛掉八成候选,再跑若干轮 Miller–Rabin。素数定理保证随机一个 1024 位奇数是素数的概率约 $2/\ln 2^{1024}\approx 1/355$,所以平均试几百个就能中——素数在大数中足够稠密,是密码学能运转的前提。
弦长比 $2:1$ 听起来像「同一个音」,是为八度;$3:2$ 是纯五度,最和谐的非八度音程。于是有个自然的野心:一路叠纯五度,能不能正好绕回八度?
不能,而且差得很具体。12 个纯五度是 $(3/2)^{12}=129.746$,7 个八度是 $2^7=128$,比值 $1.0136$——约 24 音分的裂缝,史称毕达哥拉斯逗号。它无法通过更精细的工艺消除:要 $(3/2)^n=2^m$ 就要 $3^n=2^{m+n}$,而 2 和 3 是不同的素数,算术基本定理直接判了死刑。
既然对不齐,就均摊误差:十二平均律把八度切成 12 等份,每半音为 $2^{1/12}$。此时「五度该占几个半音」变成一个纯粹的逼近问题:
左边是纯五度在一个八度中所占的比例(取以 2 为底的对数,是因为音高是乘法的、听觉是加法的);右边是键盘上 7 个半音。两者差 0.0016 个八度,约 1.96 音分——远低于人耳约 5 音分的分辨阈。
一个持续千年的音乐工程难题,剥开后是一句纯数论命题:2 与 3 不可通约,所以纯律与八度永远对不齐。不是工匠手艺不到,是算术禁止。此后所有调律法——中庸全音律、Werckmeister、十二平均律——都只是在决定「把这道裂缝藏到哪里」。巴赫的《平均律键盘曲集》正是这场妥协的宣言:牺牲每个调的绝对纯净,换来所有调都可用。
钢琴调律、MIDI 的 128 级半音、音频软件里的变调(乘以 $2^{k/12}$)都直接落在这套算术上。Bohlen–Pierce 音阶换掉前提——以 $3:1$ 为「八度」、切成 13 份——得到一套完全陌生却自洽的和声,说明音阶不是自然给定的,而是选定素数后的推论。
上一节的 $7/12$ 是从哪冒出来的?不是试出来的,是算出来的。
做法像辗转相除:取 $x=0.58496$,倒数得 $1.7095$,剥下整数部分 1,对剩下的 $0.7095$ 再取倒数……如此往复得到一串整数 $[0;1,1,2,2,3,1,5,\ldots]$。在任意一步截断,就得到一个分数——渐近分数:$\tfrac12,\ \tfrac35,\ \tfrac7{12},\ \tfrac{24}{41},\ \tfrac{179}{306}$。看看它们是什么:$3/5$ 是五平均律(印尼 slendro 音阶的近似),$7/12$ 是我们的钢琴,$24/41$ 是微分音音乐真在用的 41 平均律。人类历史上试过的音阶,就躺在这条序列上。
任何实数可写成 $x=a_0+\cfrac{1}{a_1+\cfrac{1}{a_2+\cdots}}$,渐近分数 $p_k/q_k$ 满足
$q_k$ 是分母(近似的「代价」),$q_{k+1}$ 是下一步的分母。式子说:下一个分母越大,当前这一步就越准。而 $q_{k+1}\approx a_{k+1}q_k$,所以一个大的系数 $a_{k+1}$ 意味着一次意外精准的逼近。经典例子:$\pi=[3;7,15,1,292,\ldots]$,系数 7 给出 $22/7$,系数 292 巨大——所以紧挨着它之前的 $355/113$ 精确到小数点后 7 位。更强的是最优性:任何分母不超过 $q_k$ 的分数,都不比 $p_k/q_k$ 更接近 $x$。
连分数给了「一个无理数有多难被有理数逼近」一把精确的尺子。所有系数都等于 1 的数逼近得最慢——那正是黄金比 $\varphi=[1;1,1,1,\ldots]$,最无理的数。
这不是文字游戏。向日葵种子以黄金角排列,恰恰因为 $\varphi$ 最难被有理数逼近:任何有理近似 $p/q$ 都会让种子每 $q$ 个排成一列,留下放射状的空隙;最难逼近者填得最密。同一条性质在天体力学里叫 KAM 定理——频率比越接近有理数,共振越容易撕碎轨道,最「无理」的频率比最稳定,而土星环的缝隙正开在与卫星共振的位置上。植物与行星在解同一道逼近问题。
齿轮箱选传动比、历法定闰(19 年 7 闰的默冬章就是 $\log$ 比的渐近分数)、模运算中由余数还原分数、Pell 方程求解,以及格约化算法 LLL——它既是密码分析的利器,也是后量子格密码必须防住的攻击。