整除 Division
除法定理(division theorem):若 a,b∈Z,b>0,则存在唯一的整数对 (q,r) 满足
a=qb+r0≤r<b
华罗庚在《数论导引》里的方法很简洁:
⌊ba⌋≤ba<⌊ba⌋+1a,b∈Z,b>00≤a−⌊ba⌋⋅b<ba=⌊ba⌋⋅b+r0≤r<b
整除(divide):若 a,b,q∈Z,a=qb,则称 a 是 b 的倍数(multiple)或 b 整除 a,记为 b∣a。
最大公约数(greatest common divisor):同时整除 a,b 的最大非负整数,记为 gcd(a,b) 或 (a,b)。
最大公约数性质:(a+bc,b)=(a,b),(a,b)=d⇔(a/d,b/d)=1,(0,0)=0,(0,a)=∣a∣。
裴蜀定理(Bézout’s lemma):若整数 a,b 不同时为 0,则存在整数 x,y 使得:
ax+by=(a,b)
裴蜀定理的等价形式: ax+by=1⇔(a,b)=1。
证明:注意到一定存在整数 (x,y) 使得 ax+by>0,不妨设其线性组合的最小正整数结果是 d。
下面我们将证明 d=(a,b)。首先我们证明 d∣a,套用整除定理得到唯一的 (r,q):a=dq+r(0≤r<d)
r=a−dq=a−(ax+by)q=(1−qx)a+(−qy)b
说明 r 也是 (a,b) 的线性组合。由于 0≤r<d,且我们规定线性组合最小正整数是 d,所以 r=0,即 d∣a。
同理我们也可以证明 d∣b,即 d 是 a,b 的公约数。
对于任何 a,b 的其他公约数 c,由于 d=ax+by,则 c∣d。所以 d 是 (a,b) 最小公约数。
扩展欧几里得算法:通过辗转相除算法来构造性地证明裴蜀定理。
线性丢番图方程(linear diophantine equations):裴蜀定理的推广,求以下整数方程的解 x,y∈Z:
ax+by=ca,b,c∈Z
解线性丢番图方程:若 a,b 不同时为 0,则丢番图方程有整数解当且仅当 d=(a,b)∣c,且所有解形如:
(x=x0+dbn,y=y0−dan)n∈Z
有解的必要性:若 (x,y) 是一组整数解,则 ax+by=c。又因为 d∣a,d∣b,所以 d∣c。
有解的充分性:由裴蜀定理得存在 s,t∈Z 使得 d=sa+tb。不妨设 c=dm,则 c=(ms)a+(mb)t。
通式的正确性:设 x0=ms,y0=mb,易验证 a(x0+dbn)+b(y0−dan)=c。
通式的唯一性:反证。设存在一组解 (x,y) 不满足通式,但仍然能推导出以下符合通式的矛盾:
a(x−x0)+b(y−y0)=0da(x−x0)=−db(y−y0)WLOG. b=0⇒db ∣ [da(x−x0)]∃n∈Z,x−x0=dbn∃n∈Z,−db(y−y0)=da(x−x0)=d2abn∃n∈Z,y=y0−dan
素数 Prime Number
进制定理:若 b∈N+,b>1,所有正整数 n 都可以被唯一表示成以下形式:
n=akbk+ak−1bk−1+⋯+a1b+a00≤a0,1,..,k<b,ak=0
素数/质数(prime number):大于 1 且不能被除了 1 和其本身外的任何自然数整除的自然数。
合数(composite number):大于 1 且不是素数的自然数。
素数的简单性质:
- 任何大于 1 的自然数都有一个质因数(prime divisor)。
- 合数 n 必然存在一个不超过 n 的质因数。
- 有无限多个素数。反证法:假设可穷举成 p1,p2,…,pn,则 Q=p1p2…pn+1 也是素数。
- 存在至少 n 个连续的合数。构造法:(n+1)!+2,(n+1)!+3,…,(n+1)!+(n+1)。
算术基本定理(fundamental theorem of arithmetic):任何大于 1 的正整数可以被唯一分解成素数幂的乘积。
n=p1e1p2e2…pkek
费马因式分解法(fermat’s factorization method):若 n 是正奇数,一定存在 a,b 使得 n2=a2−b2。
证明:注意到一定存在奇数 c,d 使得 n=cd,也即 n=(2c+d)2−(2c−d)2。
应用:分解 n 时,设 m 是 >n 的最小正整数,枚举 a=m2,(m+1)2,… ,观察 b 是否是平方数。
【素数更多性质待填坑】
同余 Congruent
同余(congruent):对于 n∈N+,a,b∈Z,若 a 和 b 除以 n 的余数相同,称 a,b 模 n 同余,记为:
a≡b(modn)
推论:对于 n∈N+,a,b∈Z,有 a≡b(modn)⇔n∣(a−b)。
当 n 确定时,同余符号满足自反性、对称性和传递性,即将 Z 划成了不相交的等价类(equivalence class)。
同余类(congruence class):对于 n∈N+,a∈Z,所有和 a 模 n 同余的数构成一个同余类,记为:
[a]={b∈Z∣a≡b(modn)}={…,a−2n,a−n,a,a+n,…}
对于 n∈N+,,用 Zn 表示模 n 场景下的 n 个同余类。设 [a],[b]∈Zn,定义同余类的二元运算:
[a]+[b]=[a+b][a]−[b]=[a−b][a][b]=[ab]
线性同余方程(linear congruence eqaution):
ax≡b(modn),n∈N+,a,b∈Z
解的存在性:设 d=(a,n),上述方程有解当且仅当 d∣b。
证明:变形至 ax=b+kn,k∈Z,将线性同余方程转化为线性丢番图方程,套用丢番图方程的解法。
解的形式:若 d∣b,设 x0 为任意解,其通解构成了 d 个模 n 的同余类:
x=x0+dnt,t∈Z
推论:若 (a,n)=1,则线性同余方程 ax≡b(modn) 的解只构成一个同余类。
中国剩余定理(chinese remainder theorem):以下同余方程的解是一个模 n 的同余类,n=n1n2…nk。
n1,n2,…,nk∈N+,x≡a1(modn1)x≡a2(modn2)…x≡ak(modnk)a1,a2,…,ak∈Z,∀i=j(ni,nj)=1
解的存在性:构造 ci=n/ni,则显然有 (ci,ni)=1。根据上述推论,线性同余 cix≡1(modn) 的解只构成一个模 n 的同余类,不放设其为 [ci−1]。构造下列 x0 满足上述 k 个等式,即模 n 的同余类 [x0] 是方程的解。
x0=a1c1c1−1+a2c2c2−1+⋯+akckck−1
解的唯一性:假设模 n 的另一个同余类 [x] 是方程的解,构造下列矛盾:
∀i∀ixx≡ai≡x0(modn)ni ∣ x−x0n ∣ x−x0≡x0(modn)
剩余 Residues
二次剩余(quadratic residues):若 ∃x,x2≡a(modp),称 a 是 p 的二次剩余(否则被称为二次非剩余)。
推论:若 a 是 p 的二次剩余,b 是 p 的二次非剩余,则 ab 是 p 的二次非剩余。
奇素数的二次剩余方程:设 p 是奇素数,a>0,下列方程一定无解或正好有两个解。
x2≡a(modp)
证明解的对偶性:假设 x=s 是方程的解,则 x=−s 是方程的另一个解,因为 2s≡0(modp)。
证明解的唯二性:假设 x=s1,x=s2 是方程的两个不同的解(即 0<s1,s2<p,s1=s2),则有:
s12−s22≡(s1+s2)(s1−s2)≡0(modp)
观察可知 p∣(s1+s2) 或 p∣(s1−s2)。已知 0<∣s1−s2∣<p,且 p 是奇质数,可得 s1+s2=p。
如果存在另一个解 s3,由对称性可得 s2+s3=p,即 s1=s3,产生矛盾。
奇质数的二次剩余数量:0≤a<p(p∈Podd) 中正好有 (p+1)/2 个数是 p 的二次剩余。
证明:已证每个有解的 a>0 都对应两个解 (s1,s2),而每个 0≤s<p 都对应某个 a,说明正好一半的 a 有解。
勒让德符号(legendre symbol):对二次剩余进行形式化描述:
(pa)=⎩⎨⎧0+1−1a≡0(modp)a≡0(modp)and∃x,x2≡a(modp)∀x,x2≡a(modp)
欧拉准则(Euler’s Criterion):若 p∈Podd,勒让德符号满足以下公式:
(pa)=a2p−1(modp)
证明二次剩余场景:若 (pa)=1,则 ∃s,s2≡a(modp)。右侧根据费马小定理可得:
a2p−1≡(s2)2p−1≡sp−1≡1(modp)
证明二次非剩余场景:对于任意 1≤s1<p,存在唯一的 s2=s1−1a 使得 s1⋅s2≡a(modp)。由于 a 是二次非剩余,则 s1≡s2(modp),即有 (p−1)/2 组不同的 (s1,s2)。分组相乘,根据威尔逊定理可得:
1×2×3×⋯×(p−1)≡−1≡a2p−1(modp)
勒让德符号的运算性质:
(1)(2)(pa)(pb)=(pab)(pa2)=1
高斯引理(gauss’s lemma):若 p∈Podd,a>0,勒让德符号满足以下公式:
(pa)≡(−1)∣aS1∩S2∣,aS1={ak(modp) ∣ k=1,2,…,2p−1},S2={2p+1,…,p−1}
证明:考察 aS1 里元素的两两关系。由于 (a,p)=1,可得:
∀x,yax≡±ay(modp)(1≤x,y≤2p−1,x=y)
将 1,2,…,p−1 在模域下分组成 {±1,±2,…,±(p−1)/2},则 aS1 的每个元素 唯一映射 到对应的一组,只是具体的正负性未知。∣aS1∩S2∣ 表达了 aS1 中有多少元素是映射到的是负值(即 modp≥(p+1)/2)。
如果 aS1 的某个元素 ka 映射到了某一组的负值,可以通过加负号将其调成同组的正值:
∣x∣={xp−xif 1≤x≤2p−1,if 2p+1≤x≤p−1.kamodp={∣kamodp∣−∣kamodp∣if 1≤kamodp≤2p−1,if 2p+1≤kamodp≤p−1.
将 aS1 中所有元素相乘,利用 直接相乘 和 先把负值映射到正值再相乘 两种方法建立等式:
a⋅2a⋯2p−1a=(−1)∣aS1∩S2∣(∣a∣⋅∣2a∣⋯∣2p−1a∣)=(−1)∣aS1∩S2∣(1⋅2⋯2p−1)
比较等式两侧除了阶乘外的系数,再运用欧拉准则可证命题:
(−1)∣aS1∩S2∣=a2p−1=(pa)
二次互反律(quadratic reciprocity) :令 p,q 是两个不同的奇素数,则
(pq)(qp)=(−1)2p−1⋅2q−1