文章目录
数学中专门研究整数集合及其性质的分支称为 数论。数论在离散数学中扮演着重要的作用,可以说任何时候都将使用到数论的相关知识。其次对数论的研究促进了密码学的发展,而密码学的进一步发展而又给数论的研究提供了新的动力。但数论不仅仅使用于密码学,在数论中可以看到整数的一些奇妙的性质。当性质研究的越透彻,对计算是有极大好处的。其中一些重要的概念有模运算,素数等。
1. 整除性和模运算
一个整数被一个正整数除,得到的是一个商和一个余数。与这些余数打交道导致模算术。
1.1 除法
1.1.1 整除
定 义 1 : 如 果 a 和 b 是 整 数 且 a ≠ 0 , 我 们 称 a 整 除 b 如 果 有 整 数 c 使 得 b = a c , 或 者 等 价 地 , 如 果 b / a 是 一 个 整 数 。 当 a 整 除 b 时 , 我 们 称 a 是 b 的 一 个 因 子 或 除 数 , 而 b 是 a 的 一 个 倍 数 。 用 记 号 a ∣ b 表 示 a 整 除 b 。 当 a 不 能 整 除 b 时 则 写 称 a ∤ b 。 {\color{Purple}{定义\,1:}}\,如果a和b是整数且a\neq0,我们称a整除b如果有整数c使得b=ac,或者等价地,如果b/a是一个整数。\\ 当a整除b时,我们称a是b的一个因子或除数,而b是a的一个倍数。\\ 用记号a|b表示a整除b。当a不能整除b时则写称a\not|b。 定义1:如果a和b是整数且a=0,我们称a整除b如果有整数c使得b=ac,或者等价地,如果b/a是一个整数。当a整除b时,我们称a是b的一个因子或除数,而b是a的一个倍数。用记号a∣b表示a整除b。当a不能整除b时则写称a∣b。
由定义可以证明得到一些整除的性质
定
理
1
:
令
a
,
b
,
c
为
整
数
,
其
中
a
≠
0
,
则
(
i
)
如
果
a
∣
b
和
a
∣
c
,
则
a
∣
(
b
+
c
)
(
i
i
)
如
果
a
∣
b
,
那
么
对
所
有
整
数
c
都
要
a
∣
b
c
(
i
i
i
)
如
果
a
∣
b
,
b
∣
c
,
则
a
∣
c
{\color{DarkBlue}{定理\,1:}}\,令a,b,c为整数,其中a\neq0,则\\ (i)如果a|b和a|c,则a|(b+c)\\ (ii)如果a|b,那么对所有整数c都要a|bc\\ (iii)如果a|b,b|c,则a|c
定理1:令a,b,c为整数,其中a=0,则(i)如果a∣b和a∣c,则a∣(b+c)(ii)如果a∣b,那么对所有整数c都要a∣bc(iii)如果a∣b,b∣c,则a∣c
由此得到推论
推
论
1
:
如
果
a
,
b
,
c
是
整
数
,
其
中
a
≠
0
,
使
得
a
∣
b
和
b
∣
c
,
那
么
当
m
和
n
是
整
数
时
有
a
∣
(
m
b
+
n
c
)
。
{\color{DarkGreen}{推论\,1:}}\,如果a,b,c是整数,其中a\neq0,使得a|b和b|c,那么当m和n是整数时有a|(mb+nc) 。
推论1:如果a,b,c是整数,其中a=0,使得a∣b和b∣c,那么当m和n是整数时有a∣(mb+nc)。
1.1.2 除法算法
定 理 1 : 除 法 算 法 ( d i v i s i o n a l g o r i t h m ) 。 令 a 为 整 数 , d 为 正 整 数 。 则 存 在 唯 一 的 整 数 q 和 r , 满 足 0 ≤ r < d , 使 得 a = d q + r 。 {\color{DarkBlue}{定理\,1:}}\,除法算法( division\,algorithm)。令a为整数,d为正整数。\\ 则存在唯一的整数q和r,满足0\leq r<d,使得a=dq+r。 定理1:除法算法(divisionalgorithm)。令a为整数,d为正整数。则存在唯一的整数q和r,满足0≤r<d,使得a=dq+r。
注意这是一个定理是可以被证明,需要证明其存在性和唯一性。
由于此定理,可以良好的定义摸运算。
定
义
1
:
在
除
法
算
法
的
等
式
中
,
d
称
为
是
除
数
,
a
称
为
是
被
除
数
,
q
称
为
是
商
,
r
称
为
是
余
数
。
下
面
的
记
号
用
来
表
示
商
和
余
数
。
q
=
a
d
i
v
d
,
r
=
a
m
o
d
d
{\color{Purple}{定义\,1:}}\,在除法算法的等式中,d称为是除数,a称为是被除数,q称为是商,r称为是余数。\\ 下面的记号用来表示商和余数。 q=a\,div\,d,\,r=a\,mod\,d
定义1:在除法算法的等式中,d称为是除数,a称为是被除数,q称为是商,r称为是余数。下面的记号用来表示商和余数。q=adivd,r=amodd
我们可以知道
a
d
i
v
d
=
⌊
a
/
d
⌋
a\,div\,d=\lfloor a/d\rfloor
adivd=⌊a/d⌋和
a
m
o
d
d
=
a
−
d
a\,mod\,d=a-d
amodd=a−d。虽然不严谨,但不用怀疑第二个等式,
a
−
d
和
a
−
⌊
a
/
d
⌋
d
a-d和a-\lfloor a/d\rfloor d
a−d和a−⌊a/d⌋d 是模d同余的。
1.1.3 模算术
定 义 1 : 如 果 a 和 b 为 整 数 而 m 为 正 整 数 , 则 当 m 整 数 a − b 时 称 a 模 m 同 余 b 。 用 记 号 a ≡ b ( m o d m ) 表 示 a 模 m 同 余 b 。 我 们 陈 a ≡ b ( m o d m ) 是 同 余 式 ( c o n g r u e n c e ) , 而 那 个 m 是 它 的 模 ( m o d u l u s ) 。 如 果 a 和 b 不 是 模 m 同 余 的 , 则 写 成 a ≢ b ( m o d m ) {\color{Purple}{定义\,1:}}\,如果a和b为整数而m为正整数,则当m整数a-b时称a模m同余b。\\ 用记号a\equiv b(mod\,m)表示a模m同余b。\\ 我们陈a\equiv b(mod\,m)是同余式(congruence),而那个m是它的模(modulus)。\\ 如果a和b不是模m同余的,则写成a\not\equiv b(mod\,m) 定义1:如果a和b为整数而m为正整数,则当m整数a−b时称a模m同余b。用记号a≡b(modm)表示a模m同余b。我们陈a≡b(modm)是同余式(congruence),而那个m是它的模(modulus)。如果a和b不是模m同余的,则写成a≡b(modm)
由此可以得到一些更好用的定理:
定
理
1
:
令
a
和
b
为
整
数
,
并
令
m
为
正
整
数
。
则
a
≡
b
(
m
o
d
m
)
当
且
仅
当
a
m
o
d
m
=
b
m
o
d
m
。
{\color{DarkBlue}{定理\,1:}}\,令a和b为整数,并令m为正整数。则a\equiv b(mod\,m)当且仅当a\,mod\,m=b\,mod\,m。
定理1:令a和b为整数,并令m为正整数。则a≡b(modm)当且仅当amodm=bmodm。
定 理 2 : 令 m 为 正 整 数 。 整 数 a 和 b 是 模 m 同 余 的 当 且 仅 当 存 在 整 数 k 使 得 a = b + k m 。 {\color{DarkBlue}{定理\,2:}}\,令m为正整数。整数a和b是模m同余的当且仅当存在整数k使得a=b+km 。 定理2:令m为正整数。整数a和b是模m同余的当且仅当存在整数k使得a=b+km。
定 理 3 : 令 m 为 正 整 数 。 如 果 a ≡ b ( m o d m ) , c ≡ d ( m o d m ) , 则 a + c ≡ b + d ( m o d m ) 并 且 a c ≡ b d ( m o d m ) {\color{DarkBlue}{定理\,3:}}\,令m为正整数。如果a\equiv b(mod\,m),c\equiv d(mod\,m),则\\ a+c\equiv b+d(mod\,m)并且ac\equiv bd(mod\,m) 定理3:令m为正整数。如果a≡b(modm),c≡d(modm),则a+c≡b+d(modm)并且ac≡bd(modm)
进而能得到一些稍显复杂但很实用的推论
推
论
1
:
令
m
是
正
整
数
,
令
a
和
b
是
整
数
。
则
(
a
+
b
)
m
o
d
m
=
(
(
a
m
o
d
m
)
+
(
b
m
o
d
m
)
)
m
o
d
m
(
a
b
)
m
o
d
m
=
(
(
a
m
o
d
m
)
(
b
m
o
d
m
)
)
m
o
d
m
{\color{DarkGreen}{推论\,1:}}\,令m是正整数,令a和b是整数。则\\ (a+b)mod\,m=((a\,mod\,m)+(b\,mod\,m))mod\,m\\ (ab)mod\,m=((a\,mod\,m)(b\,mod\,m))mod\,m
推论1:令m是正整数,令a和b是整数。则(a+b)modm=((amodm)+(bmodm))modm(ab)modm=((amodm)(bmodm))modm
1.1.4 模m算术
我们可以在 Z m Z_{m} Zm,即小于m的非负整数的集合 { 0 , 1 , . . . , m − 1 } \left\{0,1,...,m-1\right\} {0,1,...,m−1} 上定义算术运算。
这些整数的加法如下
a
+
m
b
=
(
a
+
b
)
m
o
d
m
a+_{m}b=(a+b)mod\,m
a+mb=(a+b)modm
乘法如下
a
⋅
b
=
(
a
⋅
b
)
m
o
d
m
a\cdot b=(a\cdot b)mod\,m
a⋅b=(a⋅b)modm
运算
+
m
+_{m}
+m和
⋅
m
\cdot_m
⋅m称为模
m
m
m 加法和模
m
m
m 乘法。
模m算术满足如下性质:
封闭性:如果 a a a和 b b b属于 Z m Z_m Zm,则 a + m b a+_{m}b a+mb和 a ⋅ m b a\cdot_{m}b a⋅mb也属于 Z m Z_{m} Zm
结合律:如果 a , b a,b a,b和 c c c属于 Z m Z_m Zm,则有 ( a + m b ) + m c = a + m ( b + m c ) (a+_{m}b)+_mc=a+_{m}(b+_{m}c) (a+mb)+mc=a+m(b+mc)和 ( a ⋅ m b ) ⋅ m c = a ⋅ m ( b ⋅ m c ) (a\cdot_m b)\cdot_mc=a\cdot_m(b\cdot_mc) (a⋅mb)⋅mc=a⋅m(b⋅mc)。
交换律:如果 a a a和 b b b属于 Z m Z_m Zm,则有 a + m b = b + m a a+_mb=b+_ma a+mb=b+ma和 a ⋅ m b = b ⋅ m a a\cdot_mb=b\cdot_ma a⋅mb=b⋅ma。
单位元:元素 0 和 1 分别是模 m 加法和乘法的单位元。即,如果 a a a 属于 Z m Z_m Zm ,则 a + m 0 = 0 + m a = a a+_m 0=0+_ma=a a+m0=0+ma=a和 a ⋅ m 1 = 1 ⋅ m a = a a\cdot_m1=1\cdot_ma=a a⋅m1=1⋅ma=a。
加法逆元:如果 a ≠ 0 a\neq0 a=0属于 Z m Z_m Zm,则 m − a m-a m−a是 a a a的模 m m m加法逆元,而 0 是其自身的加法逆元。即 ( m − a ) + m a = 0 (m-a)+_ma=0 (m−a)+ma=0且 0 + m 0 = 0 0+_m0=0 0+m0=0。
分配律:如果 a , b a,b a,b和 c c c属于 Z m Z_m Zm,则 a ⋅ m ( b + m c ) = ( a ⋅ m b ) + ( a ⋅ m c ) a\cdot_m(b+_mc)=(a\cdot_mb)+(a\cdot_mc) a⋅m(b+mc)=(a⋅mb)+(a⋅mc)和 ( a + m b ) ⋅ m c = ( a ⋅ m c ) + ( b ⋅ m c (a+_mb)\cdot_mc=(a\cdot_mc)+(b\cdot_mc (a+mb)⋅mc=(a⋅mc)+(b⋅mc)。
请注意乘法逆元是没有的。模m的乘法逆不一定存在。
这是一个群的概念,而且 Z m Z_m Zm和连同模加法被称为一个交换群,再加上模乘法则被称为交换环。
2. 整数表示和算法
定 理 1 : 令 b 是 一 个 大 于 1 的 整 数 。 则 如 果 n 是 一 个 正 整 数 , 就 可 以 唯 一 的 表 示 为 下 面 的 形 式 n = a k b k + a k − 1 b k − 1 + . . . + a 1 b + a 0 其 中 k 是 非 负 整 数 , a 0 , a 1 , . . . , a k 是 小 于 b 的 非 负 整 数 , 且 a k ≠ 0 。 {\color{DarkBlue}{定理\,1:}}\,令b是一个大于1的整数。则如果n是一个正整数,就可以唯一的表示为下面的形式\\ n=a_kb^k+a_{k-1}b^{k-1}+...+a_1b+a_0\\ 其中k是非负整数,a_0,a_1,...,a_k是小于b的非负整数,且a_k\neq 0。 定理1:令b是一个大于1的整数。则如果n是一个正整数,就可以唯一的表示为下面的形式n=akbk+ak−1bk−1+...+a1b+a0其中k是非负整数,a0,a1,...,ak是小于b的非负整数,且ak=0。
该n的表示就称为n的b进制展开式。n的b进制展开式可以记作 ( a k a k − 1 . . . a 1 a 0 ) b (a_ka_{k-1}...a_1a_0)_b (akak−1...a1a0)b。
在此节会涉及到进制转换和加法乘法算法(尤其是二进制的),以及模指数运算,但在此先不讨论,将会在以后将这些算法逐步完成。
3. 素数
定 义 1 : 大 于 1 的 整 数 p 称 为 素 数 , 如 果 p 的 正 因 子 只 是 1 和 p 。 大 于 1 但 又 不 是 素 数 的 正 整 数 称 为 是 合 数 。 {\color{Purple}{定义\,1:}}\,大于1的整数p称为素数,如果p的正因子只是1和p。大于1但又不是素数的正整数称为是合数。 定义1:大于1的整数p称为素数,如果p的正因子只是1和p。大于1但又不是素数的正整数称为是合数。
小于等于1的整数是不在讨论范围内的。
3.1 合数的素因子分解问题
定 理 1 : 算 术 基 本 定 理 每 个 大 于 1 的 整 数 都 可 以 唯 一 地 写 为 两 个 或 多 个 素 数 的 乘 积 , 其 中 素 数 以 非 递 减 序 排 列 。 {\color{DarkBlue}{定理\,1:}}\,算术基本定理\,每个大于1的整数都可以唯一地写为两个或多个素数的乘积,\\其中素数以非递减序排列。 定理1:算术基本定理每个大于1的整数都可以唯一地写为两个或多个素数的乘积,其中素数以非递减序排列。
定 理 2 : 如 果 n 是 一 个 合 数 , 那 么 n 必 有 一 个 素 因 子 小 于 等 于 n 。 {\color{DarkBlue}{定理\,2:}}\,如果n是一个合数,那么n必有一个素因子小于等于\sqrt{n}。 定理2:如果n是一个合数,那么n必有一个素因子小于等于n。
定理都是可以被证明的,且已经被证明的。具体的证明方法,不写出,有些证明方法很复杂,如果有机会将会另外总结
这为找到合数的素因子分解提供了一种方式,即试除法。
3.2 素数个数问题
定 理 3 : 存 在 无 限 多 个 素 数 {\color{DarkBlue}{定理\,3:}}\,存在无限多个素数 定理3:存在无限多个素数
定 理 4 : 素 数 定 理 当 x 无 限 增 长 时 , 不 超 过 x 的 素 数 个 数 π ( x ) 与 x / l n x 之 比 趋 近 于 1 。 {\color{DarkBlue}{定理\,4:}}\,素数定理\,当x无限增长时,不超过x的素数个数\pi(x)与x/lnx之比趋近于1。 定理4:素数定理当x无限增长时,不超过x的素数个数π(x)与x/lnx之比趋近于1。
顺便提到一下埃拉托斯特尼筛选法,该法用于寻找不超过一个给定整数的素数。
目前有更好的算法判断一个正整数是素数的。
3.3.关于素数的猜想
哥德巴赫猜想
孪生素数猜想
4 最大公约数
定 义 1 : 令 a 和 b 是 两 个 整 数 , 不 全 为 0 。 能 使 d ∣ a 和 d ∣ b 的 最 大 整 数 d 称 为 a 和 b 的 最 大 公 约 数 。 a 和 b 的 最 大 公 约 数 记 作 g c d ( a , b ) 。 {\color{Purple}{定义\,1:}}\,令a和b是两个整数,不全为0。能使d|a和d|b的最大整数d称为a和b的最大公约数。\\a和b的最大公约数记作gcd(a,b)。 定义1:令a和b是两个整数,不全为0。能使d∣a和d∣b的最大整数d称为a和b的最大公约数。a和b的最大公约数记作gcd(a,b)。
定 义 2 : 整 数 a 和 b 是 互 素 的 如 果 它 们 的 最 大 公 约 数 是 1 。 {\color{Purple}{定义\,2:}}\,整数a和b是互素的如果它们的最大公约数是1。 定义2:整数a和b是互素的如果它们的最大公约数是1。
定 义 3 : 整 数 a 1 , a 2 , . . . , a n 是 两 两 互 素 的 , 如 果 当 1 ≤ i < j ≤ n 时 有 g c d ( a i , a j ) = 1 。 {\color{Purple}{定义\,3:}}\,整数a_1,a_2,...,a_n是两两互素的,如果当1\leq i< j \leq n 时有gcd(a_i,a_j)=1。 定义3:整数a1,a2,...,an是两两互素的,如果当1≤i<j≤n时有gcd(ai,aj)=1。
一个寻找两个整数的最大公约数的方法是利用这个两个整数的素因子分解式。假定两个正整数a和b的素因子分解式为
a
=
p
1
a
1
p
2
a
2
.
.
.
p
n
a
n
b
=
p
1
b
1
p
2
b
2
.
.
.
p
n
b
n
a=p_1^{a_1}p_2^{a_2}...p_n^{a_n}\\ b=p_1^{b_1}p_2^{b_2}...p_n^{b_n}
a=p1a1p2a2...pnanb=p1b1p2b2...pnbn
必要时以0指数出现。那么
g
c
d
(
a
,
b
)
gcd(a,b)
gcd(a,b) 就可以得到
g
c
d
(
a
,
b
)
=
p
1
m
i
n
(
a
1
,
b
1
)
p
2
m
i
n
(
a
2
,
b
2
)
.
.
.
p
n
m
i
n
(
a
n
,
b
n
)
gcd(a,b)=p_1^{min(a_1,b_1)}p_2^{min(a_2,b_2)}...p_n^{min(a_n,b_n)}
gcd(a,b)=p1min(a1,b1)p2min(a2,b2)...pnmin(an,bn)
还可以以次方式得到最小公倍数
定
义
4
:
正
整
数
a
和
b
的
最
小
公
倍
数
是
能
被
a
和
b
整
除
的
最
小
正
整
数
。
a
和
b
的
最
小
公
倍
数
记
作
l
c
m
(
a
,
b
)
。
{\color{Purple}{定义\,4:}}\,正整数a和b的最小公倍数是能被a和b整除的最小正整数。\\ a和b的最小公倍数记作lcm(a,b)。
定义4:正整数a和b的最小公倍数是能被a和b整除的最小正整数。a和b的最小公倍数记作lcm(a,b)。
l c m ( a , b ) = p 1 m a x ( a 1 , b 1 ) p 2 m a x ( a 2 , b 2 ) . . . p n m a x ( a n , b n ) lcm(a,b)=p_1^{max(a_1,b_1)}p_2^{max(a_2,b_2)}...p_n^{max(a_n,b_n)} lcm(a,b)=p1max(a1,b1)p2max(a2,b2)...pnmax(an,bn)
定 理 1 : 令 a 和 b 为 正 整 数 , 则 a b = g c d ( a , b ) l c m ( a , b ) {\color{DarkBlue}{定理\,1:}}\,令a和b为正整数,则\\ ab=gcd(a,b)lcm(a,b) 定理1:令a和b为正整数,则ab=gcd(a,b)lcm(a,b)
4.1 寻找最大公约数
欧几里得算法
引
理
1
:
令
a
=
b
q
+
r
,
其
中
a
,
b
,
q
和
r
均
为
整
数
。
则
g
c
d
(
a
,
b
)
=
g
c
d
(
b
,
r
)
{\color{Cyan}{引理\,1:}}\,令a=bq+r,其中a,b,q和r均为整数。则gcd(a,b)=gcd(b,r)
引理1:令a=bq+r,其中a,b,q和r均为整数。则gcd(a,b)=gcd(b,r)
具体的欧几里得算法仍然不在此写出。
4.2 gcd 的线性组合表示
这是一个重要的结论
定
理
1
:
贝
祖
定
理
如
果
a
和
b
为
正
整
数
,
则
存
在
整
数
s
和
t
使
得
g
c
d
(
a
,
b
)
=
s
a
+
t
b
。
{\color{DarkBlue}{定理\,1:}}\,贝祖定理\,如果a和b为正整数,则存在整数s和t使得gcd(a,b)=sa+tb。
定理1:贝祖定理如果a和b为正整数,则存在整数s和t使得gcd(a,b)=sa+tb。
定 义 1 : 如 果 a 和 b 为 正 整 数 , 则 使 得 g c d ( a , b ) = s a + t b 的 整 数 s 和 t 称 为 a 和 b 的 贝 祖 系 数 。 还 有 , 等 式 g c d ( a , b ) = s a + t b 称 为 贝 祖 恒 等 式 。 {\color{Purple}{定义\,1:}}\,如果a和b为正整数,则使得gcd(a,b)=sa+tb的整数s和t称为a和b的贝祖系数。\\ 还有,等式gcd(a,b)=sa+tb称为贝祖恒等式。 定义1:如果a和b为正整数,则使得gcd(a,b)=sa+tb的整数s和t称为a和b的贝祖系数。还有,等式gcd(a,b)=sa+tb称为贝祖恒等式。
求贝祖系数的方式有:一、对欧几里得算法反向处理;二、使用扩展欧几里得算法。
引
理
1
:
如
果
a
,
b
和
c
为
正
整
数
,
使
得
g
c
d
(
a
,
b
)
=
1
且
a
∣
b
c
,
则
a
∣
c
。
{\color{Cyan}{引理\,1:}}\,如果a,b和c为正整数,使得gcd(a,b)=1且a|bc,则a|c。
引理1:如果a,b和c为正整数,使得gcd(a,b)=1且a∣bc,则a∣c。
引 理 2 : 如 果 p 是 素 数 , 且 p ∣ a 1 a 2 . . . a n , 其 中 a i 为 整 数 , 则 对 于 某 个 i , p ∣ a i 。 {\color{Cyan}{引理\,2:}}\,如果p是素数,且p|a_1a_2...a_n,其中a_i为整数,则对于某个i,p|a_i。 引理2:如果p是素数,且p∣a1a2...an,其中ai为整数,则对于某个i,p∣ai。
引理2是对引理1的推广,引理2的证明我还并未去研究。
定
理
2
:
令
m
为
正
整
数
,
令
a
,
b
和
c
为
整
数
。
如
果
a
c
≡
b
c
(
m
o
d
m
)
且
g
c
d
(
c
,
m
)
=
1
,
则
a
≡
b
(
m
o
d
m
)
。
{\color{DarkBlue}{定理\,2:}}\,令m为正整数,令a,b和c为整数。如果ac\equiv bc(mod\,m)且gcd(c,m)=1,则a\equiv b (mod\,m)。
定理2:令m为正整数,令a,b和c为整数。如果ac≡bc(modm)且gcd(c,m)=1,则a≡b(modm)。
5. 求解同余方程
同余方程即形如 a x ≡ b ( m o d m ) ax\equiv b(mod\,m) ax≡b(modm)的方程。
5.1 线性同余方程
定 理 1 : 如 果 a 和 m 为 互 素 的 整 数 且 m > 1 , 则 a 模 m 的 逆 存 。 再 者 , 这 个 模 m 的 逆 是 唯 一 的 。 ( 即 , 存 在 唯 一 小 于 m 的 正 整 数 a ˉ 是 模 m 的 逆 , 并 且 a 模 m 的 其 他 每 个 逆 均 和 a ˉ 同 余 。 ) {\color{DarkBlue}{定理\,1:}}\,如果a和m为互素的整数且m>1,则a模m的逆存。再者,这个模m的逆是唯一的。\\ (即,存在唯一小于m的正整数\bar{a}是模m的逆,并且a模m的其他每个逆均和\bar{a}同余。) 定理1:如果a和m为互素的整数且m>1,则a模m的逆存。再者,这个模m的逆是唯一的。(即,存在唯一小于m的正整数aˉ是模m的逆,并且a模m的其他每个逆均和aˉ同余。)
求得逆便可以轻松知道线性同余方程的解。
中国剩余定理:
定
理
2
:
中
国
剩
余
定
理
。
令
m
1
,
m
2
,
.
.
.
,
m
n
为
大
于
1
的
两
两
互
素
的
正
整
数
,
而
a
1
,
a
2
,
.
.
.
,
a
n
是
任
意
整
数
。
则
同
余
方
程
x
≡
a
1
(
m
o
d
m
1
)
x
≡
a
2
(
m
o
d
m
2
)
⋮
x
≡
a
n
(
m
o
d
m
n
)
有
唯
一
的
模
m
=
m
1
m
2
.
.
.
m
n
的
解
。
(
即
,
存
在
一
个
满
足
0
≤
x
≤
m
)
的
解
x
,
而
所
有
其
他
的
解
均
与
此
解
模
m
同
余
。
)
{\color{DarkBlue}{定理\,2:}}\,中国剩余定理。令m_1,m_2,...,m_n为大于1的两两互素的正整数,而a_1,a_2,...,a_n是任意整数。则同余方程\\ x\equiv a_1(mod\,m_1)\\ x\equiv a_2(mod\,m_2)\\ \vdots\\ x\equiv a_n(mod\,m_n)\\ 有唯一的模m=m_1m_2...m_n的解。\\ (即,存在一个满足0\leq x\leq m)的解x,而所有其他的解均与此解模m同余。)
定理2:中国剩余定理。令m1,m2,...,mn为大于1的两两互素的正整数,而a1,a2,...,an是任意整数。则同余方程x≡a1(modm1)x≡a2(modm2)⋮x≡an(modmn)有唯一的模m=m1m2...mn的解。(即,存在一个满足0≤x≤m)的解x,而所有其他的解均与此解模m同余。)
具体证明过程和解题不写出可去查询。
由此中国剩余定理,可以产生一种大整数计算的技术。
假定
m
1
,
m
2
,
.
.
.
,
m
n
m_1,m_2,...,m_n
m1,m2,...,mn是两两互素的模数,并令m为其乘积。满足
0
≤
a
<
m
0\leq a <m
0≤a<m的整数可唯一的表示为一个n元组,其元素由
a
a
a除以
m
i
m_i
mi的余数组成,
i
=
1
,
2
,
.
.
.
,
n
i=1,2,...,n
i=1,2,...,n。即,
a
a
a可以唯一地表示为
(
a
m
o
d
m
1
,
a
m
o
d
m
2
,
.
.
.
,
a
m
o
d
m
n
)
(a\,mod\,m_1,a\,mod\,m_2,...,a\,mod\,m_n)
(amodm1,amodm2,...,amodmn)
后可进行加法运算。
目前在此作为了解。
5.2 其他知识
费马小定理,应用于模计算中
定
理
1
:
费
马
小
定
理
。
如
果
p
为
素
数
,
a
是
一
个
不
能
被
p
整
除
的
整
数
,
则
a
p
−
1
≡
1
(
m
o
d
p
)
再
者
,
对
每
个
整
数
a
都
有
a
p
≡
a
(
m
o
d
p
)
{\color{DarkBlue}{定理\,1:}}\,费马小定理。如果p为素数,a是一个不能被p整除的整数,则\\ a^{p-1}\equiv 1(mod\,p)\\ 再者,对每个整数a都有\\ a^p\equiv a(mod\,p)
定理1:费马小定理。如果p为素数,a是一个不能被p整除的整数,则ap−1≡1(modp)再者,对每个整数a都有ap≡a(modp)
伪素数
定
义
1
:
令
b
是
一
个
正
整
数
。
如
果
n
是
一
个
正
合
数
且
b
n
−
1
≡
1
(
m
o
d
n
)
,
则
n
称
为
以
b
为
基
数
的
伪
素
数
。
{\color{Purple}{定义\,1:}}\,令b是一个正整数。如果n是一个正合数且b^{n-1}\equiv1(mod\,n),则n称为以b为基数的伪素数。
定义1:令b是一个正整数。如果n是一个正合数且bn−1≡1(modn),则n称为以b为基数的伪素数。
定 义 2 : 一 个 正 合 数 n 如 果 对 于 所 有 满 足 g c d ( b , n ) = 1 的 正 整 数 b 都 有 同 余 式 b n − 1 ≡ 1 ( m o d m ) 成 立 , 则 称 为 卡 米 切 尔 数 。 {\color{Purple}{定义\,2:}}\,一个正合数n如果对于所有满足gcd(b,n)=1的正整数b都有同余式b^{n-1}\equiv 1(mod\,m)成立,\\ 则称为卡米切尔数。 定义2:一个正合数n如果对于所有满足gcd(b,n)=1的正整数b都有同余式bn−1≡1(modm)成立,则称为卡米切尔数。
原根
模
素
数
p
的
一
个
原
根
是
Z
p
中
的
整
数
r
,
使
得
Z
p
中
的
每
个
非
零
元
素
都
是
r
的
一
个
幂
次
。
模素数p的一个原根是Z_p中的整数r,使得Z_p中的每个非零元素都是r的一个幂次。
模素数p的一个原根是Zp中的整数r,使得Zp中的每个非零元素都是r的一个幂次。
每一个素数
p
p
p都存在一个模
p
p
p的原根
定
义
3
:
假
设
p
是
一
个
素
数
集
,
r
是
一
个
模
p
的
原
根
,
而
a
是
介
于
(
含
)
1
合
p
−
1
之
间
的
一
个
整
数
。
如
果
r
e
m
o
d
p
=
a
且
0
≤
e
≤
p
−
1
,
我
们
说
e
是
以
r
为
底
a
模
p
的
离
散
对
数
,
并
写
作
l
o
g
r
a
=
e
(
这
里
隐
含
理
解
为
有
素
数
p
)
。
{\color{Purple}{定义\,3:}}\,假设p是一个素数集,r是一个模p的原根,而a是介于(含)1合p-1之间的一个整数。\\ 如果r^e mod\,p=a且0\leq e\leq p-1,我们说e是以r为底a模p的离散对数,\\ 并写作log_ra=e(这里隐含理解为有素数p)。
定义3:假设p是一个素数集,r是一个模p的原根,而a是介于(含)1合p−1之间的一个整数。如果remodp=a且0≤e≤p−1,我们说e是以r为底a模p的离散对数,并写作logra=e(这里隐含理解为有素数p)。
6. 同余的应用
散列函数,伪随机数,校验码等。