Day 50 · 2026.08.11

数论的应用面

The Applied Face of Number Theory — 整数的性格,如何渗进日历、钥匙与琴弦
"至今没有人发现数论有任何战争用途,而且看来很多年内也不会有人发现。" — G. H. Hardy, A Mathematician's Apology(1940)

同余与日历

Modular Arithmetic · 把数轴卷成圈
Number Theory
直觉版

时钟只有 12 个刻度,却能表达任意长的时间——因为它把无限长的数轴卷成了一个圈。同余就是这件事的一般化:只保留「除以 $n$ 剩多少」,把差了 $n$ 的整倍数的数当成同一个。

日历是最贴身的例子。一年 $365 = 52\times 7 + 1$,多出的那 1 天正是「今年生日周二、明年就周三」的全部原因;闰年多 2 天。整个星期几的推算,不过是在一个 7 格的圈上数步子。

+1 格 / 平年 +2 格 / 闰年 365 = 52×7 + 1 余下的「1」= 生日往后挪一天 无限数轴 → 7 个剩余类
正式定义

$a\equiv b \pmod n$ 意为 $n$ 整除 $a-b$。关键性质是运算能「穿过取余」:

$$(a+b)\bmod n=\big((a\bmod n)+(b\bmod n)\big)\bmod n$$

乘法同理。这句不起眼的话意味着可以先压缩再计算——算 $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$ 里。

一句话精华 + 思考题
把无穷卷成有限而不破坏算术,是数学做过的最实用的一次压缩。
思考:一致性哈希用 $2^{32}$ 而非素数做模,牺牲了什么、换回了什么?

素性测试

Primality Testing · 不看因子,只看行为
Computational Number Theory
直觉版

判断一个 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$:

$$a^{d}\equiv 1,\quad\text{或}\quad \exists\, r

理由干净:在域 $\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$,所以平均试几百个就能中——素数在大数中足够稠密,是密码学能运转的前提

一句话精华 + 思考题
可以确知一个数的性质,而对它的内部结构一无所知。
思考:确定性的 AKS 存在却无人使用——「多项式时间即可行」这个判据,误导了我们多少次?

数论与音律

Tuning · 一道被算术判死刑的工程题
Number Theory · Acoustics
直觉版

弦长比 $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 是不同的素数,算术基本定理直接判了死刑

裂缝 ≈ 24 音分 叠 12 个纯五度,回不到起点 (3/2)¹² ≠ 2⁷
正式定义

既然对不齐,就均摊误差:十二平均律把八度切成 12 等份,每半音为 $2^{1/12}$。此时「五度该占几个半音」变成一个纯粹的逼近问题:

$$\log_2\tfrac{3}{2}=0.58496\ldots\ \approx\ \tfrac{7}{12}=0.58333$$

左边是纯五度在一个八度中所占的比例(取以 2 为底的对数,是因为音高是乘法的、听觉是加法的);右边是键盘上 7 个半音。两者差 0.0016 个八度,约 1.96 音分——远低于人耳约 5 音分的分辨阈。

为什么美

一个持续千年的音乐工程难题,剥开后是一句纯数论命题:2 与 3 不可通约,所以纯律与八度永远对不齐。不是工匠手艺不到,是算术禁止。此后所有调律法——中庸全音律、Werckmeister、十二平均律——都只是在决定「把这道裂缝藏到哪里」。巴赫的《平均律键盘曲集》正是这场妥协的宣言:牺牲每个调的绝对纯净,换来所有调都可用。

应用

钢琴调律、MIDI 的 128 级半音、音频软件里的变调(乘以 $2^{k/12}$)都直接落在这套算术上。Bohlen–Pierce 音阶换掉前提——以 $3:1$ 为「八度」、切成 13 份——得到一套完全陌生却自洽的和声,说明音阶不是自然给定的,而是选定素数后的推论

一句话精华 + 思考题
和谐来自小整数比,而小整数比彼此不可通约——音乐建在一道数学的裂缝上。
思考:若 $\log_2(3/2)$ 恰好是有理数,音乐史会少掉什么?

连分数

Continued Fractions · 最佳逼近的自动机
Diophantine Approximation
直觉版

上一节的 $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 平均律。人类历史上试过的音阶,就躺在这条序列上。

1/2 3/5 7/12 24/41 log₂(3/2) 截断得到的每个分数,都是同等分母下的最优解 粗 → → 细
正式定义

任何实数可写成 $x=a_0+\cfrac{1}{a_1+\cfrac{1}{a_2+\cdots}}$,渐近分数 $p_k/q_k$ 满足

$$\left|x-\frac{p_k}{q_k}\right|<\frac{1}{q_k q_{k+1}}$$

$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——它既是密码分析的利器,也是后量子格密码必须防住的攻击。

一句话精华 + 思考题
连分数把「如何最省力地逼近一个数」变成确定性算法,并顺带给出无理程度的排名。
思考:$\varphi$ 既是最难逼近的数,又是自然界最常见的比例之一——这是巧合,还是同一件事的两种说法?

深入思考

Open Questions
Hardy 骄傲于数论「无用」,几十年后它撑起了全球电商。是他看走眼,还是「无用」本身是一种长期投资策略?
Hardy 的具体预言错了,方法论却对。数论能在 1970 年代被密码学一把抓走,恰恰因为它此前一百年在无人干预下长出了极深的结构(有限域、椭圆曲线、模形式);若当年按应用需求裁剪,这些工具根本不会存在。教训不是「基础研究终将有用」这句安慰话,而是:应用的形态无法预先知道,唯一可靠的策略是让结构自身生长。格从几何数论走到后量子密码,也只用了三十年。
判素快、分解慢——这个不对称是关于计算的真理,还是关于我们的无知?
目前只是一个未被推翻的经验事实。它并不由 P≠NP 保证:分解问题落在 NP∩co-NP 中,被广泛认为不是 NP 完全的,所以即使 P≠NP 获证,也推不出分解真的难。Shor 算法更直接——量子计算机上分解是多项式时间的,判素依旧简单,不对称当场塌缩,可见它至少部分源于我们的机器模型。公钥体系因此建在一个未经证明的困难性假设上,后量子迁移是在为假设失效准备后路。
十二平均律:数学最优,还是文化路径依赖?如何分辨?
渐近分数序列给出可检验的判据。若纯粹由数学决定,人类应集中在 $5,12,41,53$ 这些渐近分母上;实际情况正是如此——中国三分损益得 12、印尼用 5、微分音圈子用 41 和 53,而 11 或 13 平均律几乎无人问津。数学锁定了候选集。但在候选集里选哪一个,则由手指数量、乐器工艺与和声需求决定:41 比 12 精确得多,却需要每八度 41 个键。所以结论是数学划定可能,文化在其中挑选——这也是所有「自然 vs 约定」之争的一般形态。
模运算把无穷压成有限,连分数把无理压成有限——这两种压缩是同一件事吗?
是同一台机器的两个出口,机器叫欧几里得算法。求 $\gcd(a,b)$ 的每一步「取余」,正是连分数展开的每一步「剥整数部分」:$a/b$ 的连分数系数,就是辗转相除各步的商。所以 $\bmod$ 与最佳有理逼近是同一算法的两种读法——前者丢掉商保留余数,后者丢掉余数保留商。扩展欧几里得算法同时给出模逆元和渐近分数,正是这种双重身份的证据。这也解释了为何格约化(连分数在高维的推广)会同时出现在密码分析与数论算法中。