数论基础笔记
模运算:
即 求余 运算,对应计算机语言中的 % 运算符
同余:
两个数对某个数求余结果相同。
例:15 ≡ 23 mod 4,读作15与23模4同余。另一种表示方式更易读 15 ≡ 23 (mod 4 )
最大公约数符号:
gcd: greatest common divisior. 例: gcd(8, 12)=4
关于模运算可分配的理解
模运算可配律的描述:(a * b)mod n= ((a mod n) * (b mod n)) mod n
本文注重易读性,并非推理,严谨性没有那么强
从一个例子开始
11
m
o
d
4
=
3
11 mod 4 = 3
11mod4=3
14
m
o
d
4
=
2
14 mod 4 = 2
14mod4=2
(
11
∗
14
)
m
o
d
4
=
?
(11*14) mod 4 = ?
(11∗14)mod4=?
解:
式
1
:
11
=
4
∗
(
2
+
3
4
)
分
子
3
实
际
就
是
11
m
o
d
4
的
结
果
式1: 11 = 4 * (2 + {3\over4} ) 分子 3 实际就是 11 mod 4 的结果
式1: 11=4∗(2+43) 分子3实际就是11mod4的结果
式
2
:
14
=
4
∗
(
3
+
2
4
)
分
子
2
实
际
就
是
14
m
o
d
4
的
结
果
式2: 14 = 4 * (3 + {2\over4}) 分子 2 实际就是 14 mod 4 的结果
式2: 14=4∗(3+42) 分子2实际就是14mod4的结果
两式相乘,得
11
∗
14
=
4
2
∗
(
2
+
3
4
)
∗
(
3
+
2
4
)
11 * 14 = 4^2 * (2 + {3\over4} ) * (3 + {2\over4})
11∗14=42∗(2+43)∗(3+42)
右侧多项式展开,得
11
∗
14
=
4
2
(
2
∗
3
+
2
∗
2
4
+
3
4
∗
3
+
3
4
∗
2
4
)
11 * 14 = 4^2 (2*3 + 2* {2\over4} + {3\over4} *3 + {3\over4} *{2\over4})
11∗14=42(2∗3 + 2∗42 + 43∗3 + 43∗42)
右侧再次多项式展开,得
11
∗
14
=
4
2
∗
2
∗
3
+
4
2
∗
2
∗
2
4
+
4
2
∗
3
4
∗
3
+
4
2
∗
3
4
∗
2
4
11 * 14 = 4^2*2*3 + 4^2*2* {2\over4} + 4^2*{3\over4} *3 + 4^2*{3\over4} *{2\over4}
11∗14=42∗2∗3 + 42∗2∗42 + 42∗43∗3 + 42∗43∗42
等式右侧共 4 项。前 3 项均为 4 的整数倍,即模 4 结果为 0。
对右侧进行模 4 运算,其结果等于最后一项模 4 。即:
(
4
2
∗
3
4
∗
2
4
)
m
o
d
4
(4^2*{3\over4} *{2\over4}) mod 4
(42∗43∗42)mod4
即
(
3
∗
2
)
m
o
d
4
(3 * 2) mod 4
(3∗2)mod4
根据前面所述:
分子 3 实际就是 11 mod 4 的结果
分子 2 实际就是 14 mod 4 的结果
因此
(
11
∗
14
)
m
o
d
4
=
(
(
11
m
o
d
4
)
∗
(
14
m
o
d
4
)
)
m
o
d
4
(11*14) mod 4 = ((11 mod 4 ) * (14 mod 4 )) mod 4
(11∗14)mod4=((11mod4)∗(14mod4))mod4
=
(
3
∗
2
)
m
o
d
4
=
2
= (3 * 2) mod 4 = 2
=(3∗2)mod4=2
以上是一个特例,将特例泛化到通用,将更有说服力。
再泛化一下,考虑不以模4为例,其实仍有这样的特征。
最后,按照上述思路,将具体数字替换为数学符合,进行推理,将可证明
(
a
∗
b
)
m
o
d
n
=
(
(
a
m
o
d
n
)
∗
(
b
m
o
d
n
)
)
m
o
d
n
(a * b) mod n= ((a mod n) * (b mod n)) mod n
(a∗b) mod n=((a mod n)∗(b mod n))mod n