整除
整除的性质
设a, b是两个整数, 并且b ≠ 0. 如果存在整数c, 使得 a = b * c , 则称a被b整除, 或者b整除a,记作b |a(这里是a 被 b整除, a >= b)
此时又称a是b的倍数, b是a的因子。如果b不整除a, 记作
·
整除基本定义
定义1.1:如果n被2除的余数为 0, 则对于某个整数k, 有n = 2k, 我们称n为偶数;而如果n被2除的余数为1, 我们则对于某个整数k, 有n = 2k + 1, 我们称n为奇数。
定义1.2 :设a, b是两个整数, 并且b ≠0, 则存在唯一的整数q和r, 使得:
.
这个表达式叫做带余式除法, 并记作r = a (mod b); 例如 -13 mod 5 = 3
·
整除的性质
.
.
.
.
.
整除的应用
整除的位数
斐波那契整除
·
·
·
·
gcd和lcm
基本定义
定义1.3: 设a和b是两个整数, 如果d|a, 并且d|b, 那么我们称d是a与b的公因子。
定义1.4: 设a和b是两个不全为0的整数, 称a与b的公因子中最大的为a与b的最大公因子, 或最大公约数, 记作gcd(a, b), 有时简记为(a, b)
定义1.5: 设a和b是两个非零证书, 称a与b的最小正公倍数为a与b的最小公倍数, 记作lcm(a, b), 有时简记为[a, b]
基本运算性质
.
.
.
.
.
关于gcd和lcm的运算
.
.
上述两图就是传说中的欧几里得定理
gcd运算性质的证明
简要证明:
我们之所以说上述的递归式成立,是因为m和n的任何公因子也必定是m和(n mod m)的公因子。
证明上述一句话是基于以下公式
.
在这里我们可以由此引入拓展欧几里得定理
完整证明:
设 其中(a,b,q,r)∈Z,则:
.
!证:只需证a与b、b与r有相同的公因子。
(1).设d是a与b的公因子, 即(d|a)且(d|b)。我们注意到
.
从而我们可以的得到如下的推导过程:
.
这里我们证明了在a|b 的情况下的正确定(就是在上面表达式中gcd(0,n)的正确性)
·
(2).设d是b与r的公因子, 从而我们有如下推导:
.
gcd和lcm算法伪码描述
while(max!= 0)
min→temp
max mod min→min
temp→max
return <max>