Skip to content

5.4.1 整除性

5.4.1.1 整除性和基本整除法则

1. 因子

整数 bZ 可被整数 a 整除而无余数当且仅当存在整数 q 使得

(5.214)qa=b

成立. 这里 abZ 中的因子, q 是对于 a 的余因子; ba 的倍数. 将 “ a 整除 b ” 记作 ab . 将 “ a 不整除 b ” 记作 ab . 整除性关系 (5.214) 是 Z 中的二元关系 (参见第 444 页 5.2.3, 2.). 类似地, 整除性也在自然数集中定义.

2. 基本整除法则

(DR1) 对于每个 aZ ,我们有 1|a,a|a,a0 .(5.215)

(DR2) 如果 ab ,那么 (a)ba(b) .(5.216)

(DR3) a|b,b|a 蕴涵 a=b ,或 a=b .(5.217)

(DR4) a1 蕴涵 a=1 ,或 a=1 .(5.218)

(DR5) abb0 蕴涵 |a||b| .(5.219)

(DR6) ab 蕴涵 azb (对每个 zZ ).(5.220)

(DR7) ab 蕴涵 azbz (对每个 zZ ).(5.221)

(DR8) azbz 并且 b0 蕴涵 ab (对每个 zZ ).(5.222)

(DR9) ab 并且 bc 蕴涵 ac .(5.223)

(DR10) ab 并且 cd 蕴涵 acbd .(5.224)

(DR11) ab 并且 ac 蕴涵 a(z1b+z2c) (对任意 z1,z2Z )(5.225)

(DR12) ab 并且 a(b+c) 蕴涵 ac .(5.226)

5.4.1.2 素数

1. 素数的定义和性质

正整数 p(p>1) 称为素数,当且仅当 1 和 p 是它在正整数集 N 中仅有的因子. 不是素数的正整数称为合数.

对于每个整数, 最小的不为 1 的正因子是一个素数. 存在无穷多个素数.

正整数 p(p>1) 是素数,当且仅当对于任意正整数 a,b,p(ab) 蕴涵 papb .

2. 埃拉托色尼 (Eratosthenes) 筛法

应用埃拉托色尼筛法,可以确定每个小于给定的正整数 n 的素数:

a) 列出所有 2 到 n 的正整数.

b) 在 2 下方画一道横线, 并去掉其后所有 2 的倍数.

c) 如果 p 是第一个没有去掉也没有在下方画横线的数,那么在 p 下方画一道横线,并去掉每个 p 的倍数 (从 2p 开始,按原列出的表计数).

d) 对每个 p(pn) 重复步骤 c),并停止算法.

每个下方画了横线而没有去掉的数都是素数. 这样就得到所有 n 的素数.

素数称作整数集的素元素.

3. 素数对

相差 2 的两个素数形成一个素数对(孪生素数).

(3,5),(5,7),(11,13),(17,19),(29,31),(41,43),(59,61),(71,73),(101,103) 是素数对.

4. 三素数组

出现在四个连续奇数中的三个素数称作三素数组.

(5,7,11),(7,11,13),(11,13,17),(13,17,19),(17,19,23),(37,41,43) 是三素数组.

5. 四素数组

如果五个连续奇数中的前两个和后两个都是素数对, 那么这四个数称作一个四素数组.

(5,7,11,13),(11,13,17,19),(101,103,107,109),(191,193,197,199) 是四素数组. 存在无穷多个素数对、三素数组和四素数组的猜想还未被证明.

6. 梅森素数

如果 2k1,kN 是素数,那么 k 也是素数. 数 2p1 ( p 是素数) 称作梅森 (Mersenne) 数. 一个本身是素数的梅森数 2p1 称作梅森素数.

对于下列最初几个 p 的值:2,3,5,7,13,17,19,31,61,89,107,等等, 2p1 是素数.

注 近几年来最大的已知素数总是梅森素数,例如 2431126091(2008) , 2578851611(2013) 年). 与此相反,对于其他自然数形式为 2k1 的数可以用相对简单的方式检验它们是素数: 设 p>2 是一个素数,定义自然数列 s1=4,si+1:= si22(i1) . 数 2p1 是素数,当且仅当数列的项 sp1 可被 2p1 整除.

基于这个命题的素数判别法称为卢卡斯-莱默 (Lucas-Lehmer) 判别法.

7. 费马素数

如果数 2k+1,kN 是一个奇素数,那么 k 是 2 的幂. 数 2k+1,kN 称为费马数. 如果一个费马数是素数, 那么它称作费马素数.

k=0,1,2,3,4 时对应的费马数3,5,17,257,65537是素数. 人们猜测没有其他的费马素数.

8. 初等数论基本定理

每个正整数 n>1 可以表示为素数的乘积. 这种表示除因子次序外是唯一的. 因此称 n 恰有一个素因子分解式.

360=222335=23325.

注 类似地, 整数 (除 -1,0,1 ) 可表示为素元素之积, 除因子的次序和符号外表示是唯一的.

9. 标准素因子分解

正整数的素因子分解式中因子通常按它们的大小排列, 并且相同的因子组成幂. 如果规定不出现的素数的指数为 0 , 那么每个正整数由它的素因子分解式的指数序列唯一确定.

属于 1533312=2732113 的指数序列是 (7,2,0,0,3,0,0,) .

对于正整数 n ,设 p1,p2,,pmn 的两两不同的素因子,还设 αk 表示 n 的素因子分解式中素数 pk 的指数. 那么

(5.227a)n=k=1mpkαk,

并且这个表示称为 n 的标准素因子分解. 它常记作

(5.227b)n=ppνp(n),

其中乘积应用于所有素数 p ,并且 νp(n)p 作为 n 的因子的重数. 它总是表示有限积,因为只有有限多个指数 νp(n) 异于 0 .

10. 正因子

如果正整数 n1 由它的标准素因子分解 (5.227a) 给出,那么 n 的每个正因子 t 可写成形式

(5.228a)t=k=1mpkτk,τk{0,1,2,,αk},k=1,2,,n.

n 的所有正因子的个数 τ(n)

(5.228b)τ(n)=k=1m(αk+1).

A: τ(5040)=τ(243257)=(4+1)(2+1)(1+1)(1+1)=60 .

B: 如果 p1,p2,,pr 是两两不同的素数,那么 τ(p1p2pr)=2r .

n 的所有正因子之积 P(n)

(5.228c)P(n)=n12τ(n)

给出.

A: P(20)=203=8000 .

B: 如果 p 为素数,那么 P(p3)=p6 .

C : 如果 p,q 是不同的素数,那么 P(pq)=p2q2 .

n 的所有正因子之和 σ(n)

(5.228d)σ(n)=k=1mpkαk+11pk1.

A: σ(120)=σ(2335)=1546=360 .

B: 如果 p 为素数,那么 σ(p)=p+1 .

5.4.1.3 整除性判别法

1. 记号

考虑一个用十进制形式给出的正整数:

(5.229a)n=(akak1a2a1a0)10=ak10k+ak110k1++a2102+a110+a0

那么

(5.229b)Q1(n)=a0+a1+a2++ak

(5.229c)Q1(n)=a0a1+a2++(1)kak

分别称为 n 的(一阶) 数字和以及(一阶) 数字交错和. 还有,

(5.229d)Q2(n)=(a1a0)10+(a3a2)10+(a5a4)10+,

(5.229e)Q2(n)=(a1a0)10(a3a2)10+(a5a4)10+

分别称为(二阶) 数字和以及(二阶) 数字交错和, 以及

(5.229f)Q3(n)=(a2a1a0)10+(a5a4a3)10+(a8a7a6)10+

(5.229g)Q2(n)=(a2a1a0)10(a5a4a3)10+(a8a7a6)10+

分别称为(三阶) 数字和以及(三阶) 数字交错和.

数1,2,3,4,5,6,7,8,9有下列数字和: Q1=9+8+7+6+5+4+3+2+1=45,Q1=98+76+54+32+1=5,Q2=89+67+45+23+1=225,Q2=8967+4523+1=45,Q3=789+456+123=1368,Q3=789456+123=456 .

2. 整除性判别法

有下列整除性判别法:

DC-1: 3n3Q1(n) ,(5.230a)

DC-2: 7n7Q3(n) ,(5.230b)

DC-3: 9n9Q1(n) ,(5.230c)

DC-4: 11n11Q1(n) ,(5.230d)

DC-5: 13n13Q3(n) ,(5.230e)

DC-6: 37n37Q3(n) ,(5.230f)

DC-7: 101n101Q2(n) ,(5.230g)

DC-8: 2|n2|a0 ,(5.230h)

DC-9: 5|n5|a0 ,(5.230i)

DC-10: 2k|n2k|(ak1ak2a1a0)10 ,(5.230j)

DC-11: 5kn5k(ak1ak2a1a0)10 .(5.230k)

A:a=123456789 被 9 整除,因为 Q1(a)=45 ,并且 945 ,但不被 7 整除, 因为 Q3(a)=456 ,并且 7456 .

B: 11 整除 91619,因为 Q1(91619)=22 ,并且 11|22.

C: 24 整除 99994096,因为 244096 .

5.4.1.4 最大公因子和最小公倍数

1. 最大公因子

对于不全为零的整数 a1,a2,,an ,将 a1,a2,,an 的公因子的集合中最大的数称作 a1,a2,,an 的最大公因子,并将它记作 gcd(a1,a2,,an) . 如果 gcd(a1,a2,,an)=1 ,那么称数 a1,a2,,an 互素.

为确定最大公因子,只需考虑正的公因子. 如果给定 a1,a2,,an 的标准素因子分解

(5.231a)ai=ppνp(ai),

那么

(5.231b)gcd(a1,a2,,an)=ppmini(νp(ai)).

对于数 a1=15400=2352711,a2=7875=32537,a3=3850=252711 , 最大公因子是 gcd(a1,a2,a3)=527=175 .

2. 欧几里得算法

两个整数 a,b 的最大公因子可以不用它们的素因子分解,而是用欧几里得算法确定. 为此,依据下列格式完成一系列带余除法. 对于 a>b ,令 a0=a,a1=b . 那么

a0=q1a1+a2,0<a2<a1.a1=q2a2+a3,0<a3<a2.

(5.232a)

an2=qn1an1+an,0<an<an1,an1=qnan.

因为数列 a2,a3, 是严格单调减少的正整数列,所以除法算法有限步后停止. 最后不等于 0 的余数 an 就是 a0a1 的最大公因子.

  • 借助下面的表可见 gcd(38,105)=1 :
105=238+29,38=129+9,29=39+2,9=42+12=21.

由递推公式

(5.232b)gcd(a1,a2,,an)=gcd(gcd(a1,a2,,an1),an)

可见 n 个正整数 (n>2) 的最大公因子可以通过重复应用欧几里得算法确定.

gcd(150,105,56)=gcd(gcd(150,105),56)=gcd(15,56)=1 .

如果两个数是斐波那契 (Fibonacci) 数列 (参见第 501 页 5.4.1.5) 中的相邻数, 那么确定这两个数的 gcd 的欧几里得算法 (还可参见第 3 页 1.1.1.4, 1.) 有特别多的步骤. 下面附加的计算给出一个例子, 其中所有的商始终等于 1 .

55=134+21,34=121+13,21=113+8,13=18+5,8=15+3,5=13+2,3=12+1,2=11+11=11.

3. 欧几里得算法定理

对于两个自然数 a,b,a>b>0 ,令 λ(a,b) 表示欧几里得算法中带余除法的次数,并设 κ(b)b 的十进表示中数字个数. 那么

(5.233)λ(a,b)5κ(b).

4. 作为线性组合的最大公因子

从欧几里得算法可以得到

a2=a0q1a1=c0a0+d0a1,(5.234a)a3=a1q2a2=c1a0+d1a1,

......

an=an2qn1an1=cn2a0+dn2a1.

这里 cn2dn2 是整数. 于是 gcd(a0,a1) 可以表示为 a0a1 的整系数线性组合:

(5.234b)gcd(a0,a1)=cn2a0+dn2a1.

此外, gcd(a1,a2,,an) 可以表示为 a1,a2,,an 的线性组合,因为

gcd(a1,a2,,an)=gcd(gcd(a1,a2,,an1),an)(5.234c)=cgcd(a1,a2,,an1)+dan.

gcd(150,105,56)=gcd(gcd(150,105),56)=gcd(15,56)=1 ,并且 15=(2) . 150+3105 ,以及 1=1515+(4)56 ,于是 gcd(150,105,56)=(30)150+ 45105+(4)56 .

5. 最小公倍数

对于全不为零的整数 a1,a2,,an ,将 a1,a2,,an 的正公倍数的集合中最小的数称作 a1,a2,,an 的最小公倍数,并将它记作 lcm(a1,a2,,an) .

如果给定 a1,a2,,an 的标准素因子分解式 (5.231a),那么

(5.235)lcm(a1,a2,,an)=ppmaxi(νp(ai)).

对于数 a1=15400=2352711,a2=7875=32537,a3=3850=252711 , 最小公倍数是 lcm(a1,a2,a3)=233253711=693000 .

6. gcdlcm 间的关系

对于任意整数 a,b :

(5.236)|ab|=gcd(a,b)lcm(a,b).

因此, lcm(a,b) 可以借助欧几里得算法而不应用素因子分解确定.

5.4.1.5 斐波那契数

1. 递推公式

序列

(5.237)(Fn)nN,F1=F2=1,Fn+1=Fn+Fn+1

称为斐波那契数列. 它开头的元素是1,1,2,3,5,8,13,21,34,55,89,144,233,377,

这个数列的研究要回溯到斐波那契于 1202 年提出的一个问题: 如果每对兔子每月生育一对新兔子, 并且从第二个月开始生育后代, 那么一对兔子在年末总共繁殖多少对兔子? 答案是 F14=377 .

2. 明显公式

除递推定义 (5.237) 外, 有一个斐波那契数的明显公式:

(5.238)Fn=15([1+52]n[152]n).

斐波那契数的一些重要性质如下. 对于 m,nN :

(1) Fm+n=Fm1Fn+FmFn+1(m>1) .(5.239a)

(2) FmFmn .(5.239b)

(3) gcd(m,n)=d 蕴涵 gcd(Fm,Fn)=Fd .(5.239c)

(4) gcd(Fn,Fn+1)=1 .(5.239d)

(5) 当且仅当 mk 时, FmFk .(5.239e)

(6) i=1nFi2=FnFn+1 .(5.239f)

(7) gcd(m,n)=1 蕴涵 FmFnFmn .(5.239g)

(8) i=1nFi=Fn+21 .(5.239h)

(9) FnFn+2Fn+12=(1)n+1 .(5.239i)

(10) Fn2+Fn+12=F2n+1 .(5.239j)

(11) Fn+22Fn2=F2n+2 .(5.239k)

version 1.24.0