文章目录
- abstract
- 数论的主要内容
- 数论的重要性和应用
- 整除
- 整除的定义
- 整除@约数@倍数
- 注意
- 正约数
- 相关概念的辨析
- 整除(Divisibility)
- 被整除(Being Divisible)
- 除以@除
- 整除的性质👺
- 举例应用👺
- 其他性质
- 正约数性质1
- 方法1
- 方法2
- 补充
- 例
- 正约数性质2
- 有意思的整除问题或性质
- 带余除法定理
- 存在性
- 唯一性
- 带余除法和正负号
- 余数和取模相关性质
- 自然数可以表示为任意进制数
- 利用带余除法做整数的进制转换
abstract
数论(Number Theory)是数学中专门研究整数及其性质的学科。数论的历史可以追溯到古代,至今仍是数学中最富有魅力和活力的领域之一。
数论主要研究对象是整数、质数(prime numbers)以及它们之间的关系和规律。(小数不是数论讨论的重点,大多性质或定理描述的内容是关于整数)
由于其探讨的对象和问题往往与简单的算术现象紧密相关,数论有时被称为“高等算术”。
数论的主要内容
本文仅讨论最基础的初等数论知识,它们在计算机科学和程序设计方面有重要应用,非数学专业人员往往对这方面的知识比较欠缺
以前高中阶段,有些教材提供了数论基础章节,比如人教版选修
-
初等数论(Elementary Number Theory)
- 研究基本的整数性质,如因数分解、最大公约数和最小公倍数、同余(congruences)、模运算(modular arithmetic)等。欧几里得算法和费马小定理都是初等数论中的基本工具。
- 初等数论是数论的一个分支,主要研究整数的基本性质和基本运算,通常不借助于更高级的数学工具(如复分析或抽象代数)。尽管称为“初等”,初等数论中包含了许多深刻而有趣的理论,涉及整数的分解、同余关系、素数性质等内容。
-
代数数论(Algebraic Number Theory)
-
解析数论(Analytic Number Theory)
-
几何数论(Geometric Number Theory)
-
计算数论(Computational Number Theory)
数论的重要性和应用
- 密码学
- 数据安全和隐私
- 编码理论
- …
整除
在日常生活中,我们经常遇到整数的整除问题。例如,一箱苹果有48个,按个数分给7个人,能否分配公平?你马上知道,这不可能,原因是7不能整除48。
又如,本年级105人参加团体操,要求队形呈长方形( n n n行 m m m列)(不能排成一行或一列),问排列的行数如何选择?你会立即给出答案:行数可为3,5,7,15,21,35。这是因为只有这六个正整数能整除105。
研究整除问题,不仅是现实的需要,而且饶有兴味。研究整数的整除不仅是数论的开端,而且所形成的方法与理论是数论的基础。
整除的定义
这里讨论的是整数的整除性
对于任意整数 a a a 和 b b b,如果 a ≠ 0 a \neq 0 a=0,我们说 a a a 整除 b b b(记作 a ∣ b a \mid b a∣b),当且仅当存在整数 c c c 使得 b = a ⋅ c b = a \cdot c b=a⋅c (1)
。
符号|
是整除号,整除号的左边是因数(称为整除数,在式(1)中充当除数),右边是被整除数,在式(1)中充当积;
因此整除号两边用含义直接表示为整除数|被整除数
或因数|倍数
a ∣ b a|b a∣b也可以读作: b b b被 a a a整除,或者读作 a a a是 b b b的约数
整除@约数@倍数
设 a , b a, b a,b 是整数, b ≠ 0 b \neq 0 b=0,如果有整数 q q q,使 a = q b a = qb a=qb,则称 b b b 整除 a a a,记作 b ∣ a b | a b∣a。并称 b b b 是 a a a 的约数(或因数), a a a 是 b b b 的倍数。否则称 b b b 不能整除 a a a,记作 b ∤ a b \nmid a b∤a。
- 例如,7 | 105,105 是 7 的倍数; 7 ∤ 48 7\nmid 48 7∤48,48 不是 7 的倍数;1、3、5、7、15、21、35、105 都是 105 的约数;1 和 11 是 11 的约数;等等。
注意
- 0 不是任何整数的约数,但 0 是任何整数的倍数(任何数乘以0都是0)。
- (说明了倍数不一定比约数要小, b ∣ a b|a b∣a不揭示 a , b a,b a,b的大小关系),除非指定 a ≠ 0 a\neq{0} a=0,那么有 ∣ b ∣ ⩽ ∣ a ∣ |b|\leqslant|a| ∣b∣⩽∣a∣
- 符号 b ∣ a b | a b∣a 本身包含了条件 b ≠ 0 b \neq 0 b=0。 a , b a, b a,b 可以是负整数。
- 0 ∣ 0 0|0 0∣0这种写法是不正确的,和整除定义不符
正约数
- 一个正整数的正约数是我研究整除性质的重要对象
- 一个整数的所有正约数中非1的最小正约数,中间正约数,最大正约数是许多命题或定理的讨论对象
相关概念的辨析
在数论中,整除、被整除、除、除以这些术语虽然有联系,但各自含义稍有不同。理解这些概念的差别有助于更准确地掌握数学表达。以下是对这些概念的辨析:
整除(Divisibility)
整除是数论中的一个核心概念,描述了两个整数之间的关系。
若 a ∣ b a \mid b a∣b,表示“ a a a 整除 b b b”或“ b b b 能被 a a a 整除”。整除的定义是:
- 如果 a ≠ 0 a \neq 0 a=0 且存在整数 c c c,使得 b = a ⋅ c b = a \cdot c b=a⋅c,那么 a ∣ b a \mid b a∣b 成立。
a ∣ b a|b a∣b可以理解为
- 用 a a a来分 b b b,分完后每份都是 a a a
- 把 b b b平均分成 a a a份,每份都是整数
例如, 3 ∣ 6 3 \mid 6 3∣6 表示3整除6,这个命题成立,因为存在整数2使得 6 = 3 ⋅ 2 6 = 3 \cdot 2 6=3⋅2。在这种表达中:
- 被整除数 是 b b b(即6)。
- 整除数 是 a a a(即3)。
被整除(Being Divisible)
被整除的概念是从整除的角度反过来看。例如,在“3 整除 6”或“ 3 ∣ 6 3 \mid 6 3∣6”这个表达中,6被3整除。换句话说:
- 如果 a ∣ b a \mid b a∣b,那么 b b b 是 被整除数,表示 b b b 能够被 a a a 整除。
在许多表述中,“能被整除”常用于表达一个数是另一个数的倍数,例如“6 能被 3 整除”意指6是3的倍数。
除以@除
- 式子 a / b a/b a/b或 a ÷ b a\div{b} a÷b读作 a a a除以 b b b
- 国内由于历史遗留原因,有些地方称 a / b a/b a/b为b除a,表示用 b b b分 a a a
整除的性质👺
- 若 b ∣ a b | a b∣a,$ c | b$,则 c ∣ a c | a c∣a(传递性)
- 若 c ∣ a , c ∣ b c | a, c | b c∣a,c∣b,则对任意整数 x , y x, y x,y(可以为负整数),必有 c ∣ ( a x + b y ) c | (ax + by) c∣(ax+by)(线性组合性质,同一个因数的不同倍数间的线性组合仍然是这个因数的倍数)
- 若 b ∣ a , a ≠ 0 b | a, a \neq 0 b∣a,a=0,则 ∣ b ∣ ⩽ ∣ a ∣ |b| \leqslant |a| ∣b∣⩽∣a∣;若 b ∣ a b|a b∣a, ∣ a ∣ < ∣ b ∣ |a|<|b| ∣a∣<∣b∣,则 ∣ a ∣ = a = 0 |a|=a=0 ∣a∣=a=0
- 若 b ∣ a , a ≠ 0 b | a, a \neq 0 b∣a,a=0,则 a b ∣ a \frac{a}{b} \mid a ba∣a
- 若 a , b ∈ Z + a,b\in\mathbb{Z_{+}} a,b∈Z+, a ∣ b a|b a∣b且 b ∣ a b|a b∣a,则 a = b a=b a=b
- 若 a , m ∈ Z a,m\in\mathbb{Z} a,m∈Z, a ≠ 0 a\neq{0} a=0, a ∣ a m a|am a∣am
- 若 a ∣ b a|b a∣b, m ∈ Z , m ≠ 0 m\in\mathbb{Z},m\neq{0} m∈Z,m=0,则 a m ∣ b m am|bm am∣bm
- 若 a b = m ab=m ab=m, ( a , b , m ∈ Z , m ≠ 0 ) (a,b,m\in\mathbb{Z},m\neq{0}) (a,b,m∈Z,m=0),则 a ∣ m , b ∣ m a|m,b|m a∣m,b∣m
它们都可以通过定义推导和验证
举例应用👺
求证:设 3 ∣ m , 7 ∣ m 3 \mid m, 7 \mid m 3∣m,7∣m,则 21 ∣ m 21 \mid m 21∣m
- 这个命题的证明有一定的技巧性,需要配出来线性组合性质的系数来利用对应的整除性质进行证明
证明:
由 3 ∣ m 3 \mid m 3∣m,可写 m = 3 q m = 3q m=3q。 ( q ∈ Z ) (q\in\mathbb{Z}) (q∈Z)
由此及 7 ∣ m 7 \mid m 7∣m 知 7 ∣ 3 q 7 \mid 3q 7∣3q。由 7 ∣ 7 q , 7 ∣ 3 q 7 \mid 7q, 7 \mid 3q 7∣7q,7∣3q 及线性组合性质可得 7 ∣ [ 7 q − 2 × ( 3 q ) ] 7 \mid [7q - 2 \times (3q)] 7∣[7q−2×(3q)],即 7 ∣ q 7 \mid q 7∣q。
因此可令 q = 7 d q = 7d q=7d,于是有 m = 3 q = 3 × 7 d = 21 d m = 3q = 3 \times 7d = 21d m=3q=3×7d=21d,故 21 ∣ m 21 \mid m 21∣m。
类似地,若 2 ∣ A 2|A 2∣A, 3 ∣ A 3|A 3∣A,则 6 ∣ A 6|A 6∣A这个命题可以类似的方法进行证明
令 A = 2 q A=2q A=2q,则 3 ∣ 2 q 3|2q 3∣2q,由整除性质可知 3 ∣ 3 q 3|3q 3∣3q一定成立,根据整除的线性组合性质, 3 ∣ ( 3 q − 2 q ) 3|(3q-2q) 3∣(3q−2q),即 3 ∣ q 3|q 3∣q,从而 6 ∣ 2 q 6|2q 6∣2q
又因为 A = 2 q A=2q A=2q,得出 6 ∣ A 6|A 6∣A
其他性质
仅举例说明其中的经典性质
正约数性质1
设 q 1 , q 2 , ⋯ , q k q_1, q_2, \cdots, q_k q1,q2,⋯,qk 是正整数 n n n 的所有的正约数,证明
( q 1 q 2 ⋯ q k ) 2 = n k (q_1 q_2 \cdots q_k)^2 = n^k (q1q2⋯qk)2=nk
证明:
由整除的性质, m 1 = n q 1 m_1=\dfrac{n}{q_1} m1=q1n, m 2 = n q 2 m_{2}=\dfrac{n}{q_2} m2=q2n, ⋯ \cdots ⋯, m k = n q k m_{k}=\dfrac{n}{q_k} mk=qkn 也是 n n n 的全部正约数。
显然 q 1 , ⋯ , q k q_{1},\cdots,q_{k} q1,⋯,qk中任意两个互不相同, n n n的所有正约数的集合可以表示为 S = { q 1 , q 2 , ⋯ , q k } S=\set{q_{1},q_{2},\cdots,q_{k}} S={q1,q2,⋯,qk}, q i ≠ q j , ( i ≠ j , i , j ∈ { 1 , 2 , ⋯ , k } ) q_{i}\neq{q_{j}},(i\neq{j},i,j\in\set{1,2,\cdots,k}) qi=qj,(i=j,i,j∈{1,2,⋯,k})
方法1
显然 m i ∈ S , ( i = 1 , 2 , ⋯ , k ) m_{i}\in{S},(i=1,2,\cdots,k) mi∈S,(i=1,2,⋯,k),并且 m i = n q i ≠ m j = n q j , ( i ≠ j , i , j ∈ { 1 , 2 , ⋯ , k } ) m_{i}=\frac{n}{q_{i}}\neq{m_{j}}=\frac{n}{q_{j}},(i\neq{j},i,j\in\set{1,2,\cdots,k}) mi=qin=mj=qjn,(i=j,i,j∈{1,2,⋯,k})
因此 m 1 , ⋯ , m k m_{1},\cdots,m_{k} m1,⋯,mk构成的集合表示为 M = { m 1 , ⋯ , m k } M=\set{m_{1},\cdots,m_{k}} M={m1,⋯,mk},而 M M M的元素全部来自于集合 S S S,所以 M ⊆ S M\sube{S} M⊆S
又因为 M , S M,S M,S各自有 k k k个不同元素,所有 M = S M=S M=S;所有 q 1 ⋯ q k q_{1}\cdots{q_{k}} q1⋯qk= m 1 ⋯ m k m_{1}\cdots{m_{k}} m1⋯mk
由条件可知 ∏ i = 1 k q i m i = n k \prod_{i=1}^{k}q_{i}m_{i}=n^{k} ∏i=1kqimi=nk;从而 ( ∏ i = 1 k q i ) ( ∏ i = 1 k m i ) (\prod_{i=1}^{k}q_{i})(\prod_{i=1}^{k}m_{i}) (∏i=1kqi)(∏i=1kmi)= n k n^{k} nk
所以 ( q 1 q 2 ⋯ q k ) 2 = n k (q_1 q_2 \cdots q_k)^2 = n^k (q1q2⋯qk)2=nk
方法2
不妨设 q 1 < q 2 < ⋯ < q k q_1 < q_2 < \cdots < q_k q1<q2<⋯<qk,则有 q 1 = n q k , q 2 = n q k − 1 , ⋯ , q k = n q 1 q_1 = \dfrac{n}{q_k}, q_2 = \dfrac{n}{q_{k-1}}, \cdots, q_k = \dfrac{n}{q_1} q1=qkn,q2=qk−1n,⋯,qk=q1n。
- 实际上 q i q k − i + 1 = n q_{i}q_{k-i+1}=n qiqk−i+1=n, i = 1 , 2 , ⋯ , k i=1,2,\cdots,k i=1,2,⋯,k,该结论的解释附加在后面的补充
因此, q 1 q 2 ⋯ q k = n q k × n q k − 1 × ⋯ × n q 1 q_1 q_2 \cdots q_k = \dfrac{n}{q_k} \times \dfrac{n}{q_{k-1}} \times \cdots \times \dfrac{n}{q_1} q1q2⋯qk=qkn×qk−1n×⋯×q1n ⇒ ( q 1 q 2 ⋯ q k ) 2 = n k . \Rightarrow (q_1 q_2 \cdots q_k)^2 = n^k. ⇒(q1q2⋯qk)2=nk.
补充
有些教材中的证明将 q i q k − i + 1 = n q_{i}q_{k-i+1}=n qiqk−i+1=n的结论视为显然,这里稍微讨论一下
- i = 1 i=1 i=1
- q 1 q k = n q_{1}q_{k}=n q1qk=n;
- i = 2 i=2 i=2,
- 因为 q 1 q k = n q_{1}q_{k}=n q1qk=n, q 2 q j = n q_{2}q_{j}=n q2qj=n必有 j ⩽ k − 1 j\leqslant{k-1} j⩽k−1;如果 j < k − 1 j<k-1 j<k−1,那么说明 q 2 q k − 1 > n q_{2}q_{k-1}>n q2qk−1>n,而 n / q k − 1 ∈ S n/q_{k-1}\in{S} n/qk−1∈S从而只能 a 1 q k − 1 = n a_{1}q_{k-1}=n a1qk−1=n,而这与 q 1 a k = n q_{1}a_{k}=n q1ak=n矛盾,所以 j = k − 1 j=k-1 j=k−1
- 所以 q 2 q k − 1 = n q_{2}q_{k-1}=n q2qk−1=n
- i = 3 i=3 i=3
- 因为 q 2 q k − 1 = n q_{2}q_{k-1}=n q2qk−1=n, q 3 q j = n q_{3}q_{j}=n q3qj=n必有 j ⩽ k − 2 j\leqslant{k-2} j⩽k−2;
- 如果 j < k − 2 j<k-2 j<k−2,则 q 3 q k − 2 > n q_{3}q_{k-2}>n q3qk−2>n, n / q k − 2 ∈ S n/q_{k-2}\in{S} n/qk−2∈S,从而只能 q 1 q k − 2 = n q_{1}q_{k-2}=n q1qk−2=n,或者 q 2 q k − 2 = n q_{2}q_{k-2}=n q2qk−2=n;再由前面的结论,这两个情况都不可能,所以 j = k − 2 j=k-2 j=k−2
- 随意 q 3 q k − 2 = n q_{3}q_{k-2}=n q3qk−2=n
- …以此类推, q i q k − i + 1 = n q_{i}q_{k-i+1}=n qiqk−i+1=n
例
例如,1, 2, 3, 4, 6, 12 是 12 的全部正约数,因而
12 1 , 12 2 , 12 3 , 12 4 , 12 6 , 12 12 \dfrac{12}{1}, \dfrac{12}{2}, \dfrac{12}{3}, \dfrac{12}{4}, \dfrac{12}{6}, \dfrac{12}{12} 112,212,312,412,612,1212
也是 12 的全部正约数。后者不过是将前者倒过来排列。因此
1 × 2 × 3 × 4 × 6 × 12 = 12 12 × 12 6 × 12 4 × 12 3 × 12 2 × 12 1 , 1 \times 2 \times 3 \times 4 \times 6 \times 12 = \dfrac{12}{12} \times \dfrac{12}{6} \times \dfrac{12}{4} \times \dfrac{12}{3} \times \dfrac{12}{2} \times \dfrac{12}{1}, 1×2×3×4×6×12=1212×612×412×312×212×112,
⇒ ( 1 × 2 × 3 × 4 × 6 × 12 ) 2 = 1 2 6 \Rightarrow (1 \times 2 \times 3 \times 4 \times 6 \times 12)^2 = 12^6 ⇒(1×2×3×4×6×12)2=126,(k=6)
正约数性质2
若正整数 n n n 的全部正约数有奇数个,则 n n n 为平方数
证明:将 n n n 的全部正约数从最小到最大排列成一列: q 1 , q 2 , ⋯ , q k , q k + 1 , ⋯ , q 2 k + 1 q_1, q_2, \cdots, q_k, q_{k+1}, \cdots, q_{2k+1} q1,q2,⋯,qk,qk+1,⋯,q2k+1 (这里设 n n n的正约数个数为 2 k + 1 2k+1 2k+1个)
由上一性质可知, q 1 , ⋯ , q 2 k + 1 q_{1},\cdots,q_{2k+1} q1,⋯,q2k+1与约数 n q 2 k + 1 , ⋯ , n q k + 1 , n q k , ⋯ , n q 1 \frac{n}{q_{2k+1}}, \cdots, \frac{n}{q_{k+1}}, \frac{n}{q_{k}}, \cdots, \frac{n}{q_{1}} q2k+1n,⋯,qk+1n,qkn,⋯,q1n 对应相等。即 q i q 2 k + 2 − i = n q_{i}q_{2k+2-i}=n qiq2k+2−i=n,当 i = k + 1 i=k+1 i=k+1时, q k + 1 q k + 1 = n q_{k+1}q_{k+1}=n qk+1qk+1=n;
从另一个角度, S n = 1 , 2 , ⋯ , k , ⋯ , 2 k + 1 S_{n}=1,2,\cdots,k,\cdots,2k+1 Sn=1,2,⋯,k,⋯,2k+1这个序列有奇数个元素,中间元素是第 k + 1 k+1 k+1位于中央的一对是 q k + 1 , n q k + 1 q_{k+1}, \frac{n}{q_{k+1}} qk+1,qk+1n,因此 q k + 1 = n q k + 1 q_{k+1} = \frac{n}{q_{k+1}} qk+1=qk+1n,于是 n = q k + 1 2 n = q_{k+1}^2 n=qk+12。
补充:
- 为什么序列 S n S_{n} Sn的中间位置是 k + 1 k+1 k+1?首先序列 S n S_{n} Sn含有奇数个元素,那么一定存在正中间位置,且其两边的元素数量一样多,两边都是 ( 2 k + 1 − 1 ) / 2 (2k+1-1)/2 (2k+1−1)/2= k k k,说明第 k + 1 k+1 k+1个元素是中间元素(从正数倒数都是第 k + 1 k+1 k+1个)
有意思的整除问题或性质
-
三个连续整数的和是3的倍数
- 设 a ∈ Z a\in{\mathbb{Z}} a∈Z,是三个连续整数中最小的数,则三数之和为 S = a + ( a + 1 ) + ( a + 2 ) S=a+(a+1)+(a+2) S=a+(a+1)+(a+2)= 3 a + 3 3a+3 3a+3= 3 ( a + 1 ) 3(a+1) 3(a+1),
- 所以 3 ∣ S 3|S 3∣S, S S S是3的倍数
-
若 c ∣ ( a + b ) c|(a+b) c∣(a+b),则 c ∣ ( a 3 + b 3 ) c|(a^3+b^3) c∣(a3+b3)
- 因为 a 3 + b 3 a^3+b^3 a3+b3= ( a + b ) ( a 2 − a b + b 2 ) (a+b)(a^2-ab+b^2) (a+b)(a2−ab+b2),所以 ( a + b ) ∣ ( a 3 + b 3 ) (a+b)|(a^3+b^3) (a+b)∣(a3+b3)
- 又因为 c ∣ ( a + b ) c|(a+b) c∣(a+b),所以 c ∣ ( a 3 + b 3 ) c|(a^3+b^3) c∣(a3+b3)
-
连续三个整数中有且只有一个是3的倍数
- 设 n ∈ Z n\in\mathbb{Z} n∈Z,则 n / 3 n/3 n/3的余数 r = n m o d 3 r=n \mod{3} r=nmod3 ,则 r ∈ { 0 , 1 , 2 } r\in\set{0,1,2} r∈{0,1,2}
- 当 r = 0 r=0 r=0时, n n n是3的倍数
- 当 r = 1 r=1 r=1时, n − 1 , n + 2 n-1,n+2 n−1,n+2是3的倍数
- 当 r = 2 r=2 r=2时, n − 2 , n + 1 n-2,n+1 n−2,n+1是3的倍数
- 由此可见,三类情况下总有 n , n + 1 , n + 2 n,n+1,n+2 n,n+1,n+2中有且只有一个是3的倍数
- 同理 n − 2 , n − 1 , n n-2,n-1,n n−2,n−1,n中也至少有一个是3的倍数
- 因此,任意3个连续整数中有且只有一个3的倍数
-
若 n ∈ Z + n\in\mathbb{Z_{+}} n∈Z+,则 6 ∣ [ n ( n + 1 ) ( 2 n + 1 ) ] 6|[n(n+1)(2n+1)] 6∣[n(n+1)(2n+1)]
- 这个问题对于缺乏数学知识面的同学来说看起来有点证明
- 方法1:
- 如果你知道自然数平方和公式: S S S= ∑ i = 1 n i \sum_{i=1}^{n}i ∑i=1ni= 1 6 n ( n + 1 ) ( 2 n + 1 ) \frac{1}{6}n(n+1)(2n+1) 61n(n+1)(2n+1),显然 S ∈ Z + S\in\mathbb{Z_+} S∈Z+那么可以得出 6 ∣ [ n ( n + 1 ) ( 2 n + 1 ) ] 6|[n(n+1)(2n+1)] 6∣[n(n+1)(2n+1)]
- 方法2:
- T T T= n ( n + 1 ) ( 2 n + 1 ) n(n+1)(2n+1) n(n+1)(2n+1)= n ( n + 1 ) ( ( n + 2 ) + ( n − 1 ) ) n(n+1)((n+2)+(n-1)) n(n+1)((n+2)+(n−1))= n ( n + 1 ) ( n + 2 ) + ( n − 1 ) n ( n + 1 ) n(n+1)(n+2)+(n-1)n(n+1) n(n+1)(n+2)+(n−1)n(n+1)
- 可见, T T T可以表示为两组3个连续自然数乘积相加的结果
- 令 A A A= n ( n + 1 ) ( n + 2 ) n(n+1)(n+2) n(n+1)(n+2); B = ( n − 1 ) n ( n + 1 ) B=(n-1)n(n+1) B=(n−1)n(n+1)
- 由于3个连续自然数中一定有偶数(2的倍数)以及3的倍数,所以 2 ∣ A , 3 ∣ A 2|A,3|A 2∣A,3∣A,由本文讨论的整数除性质可推出 6 ∣ A 6|A 6∣A
- 同理有 6 ∣ B 6|B 6∣B
- 从而 6 ∣ ( A + B ) 6|(A+B) 6∣(A+B),即 6 ∣ [ n ( n + 1 ) ( 2 n + 1 ) ] 6|[n(n+1)(2n+1)] 6∣[n(n+1)(2n+1)]
带余除法定理
设 a , b a, b a,b 是两个整数,其中 b > 0 b > 0 b>0,则[存在]惟一的一对整数 q q q 及 r r r,使: a = b q + r a = bq + r a=bq+r(1)
, ( 0 ≤ r < b ) (0 \leq r < b) (0≤r<b)
说明:
-
该定理的关键是 r r r的取值范围,因此并不是将 a a a拆分为 b q + r bq+r bq+r的形式就能称为带余除法,余数 r r r的大小比 b b b小,
-
此外,定理中 r r r还是非负的,由于 a , b , q a,b,q a,b,q都是整数,所以 r = a − b q r=a-bq r=a−bq也是一个整数,所以 r r r实际上是非负整数
-
被除数 a a a是整数,也就是带余除法研究对象和数论主要研究对象一致都是整数
证明:分为存在性和唯一性分别证明
存在性
作整数序列 ⋯ , − 3 b , − 2 b , − b , 0 , b , 2 b , 3 b , ⋯ \cdots, -3b, -2b, -b, 0, b, 2b, 3b, \cdots ⋯,−3b,−2b,−b,0,b,2b,3b,⋯
则 a a a 或者等于这个序列的某一项,或者在某相邻两项之间,即存在整数 q q q,使
q b ⩽ a < ( q + 1 ) b = q b + b qb \leqslant a < (q+1)b=qb+b qb⩽a<(q+1)b=qb+b,可得 0 ⩽ a − q b < b 0\leqslant{a-qb}<b 0⩽a−qb<b
令 r = a − q b r = a - qb r=a−qb,因为 q q q存在,所以 r r r存在,则 0 ≤ r < b 0 \leq r < b 0≤r<b, a = q b + r a = qb + r a=qb+r。
p , r p,r p,r的存在性得证,而且它们的关系是 a = q b + r a=qb+r a=qb+r
或者也可以从余数的角度讨论
- 若 b ∣ a b|a b∣a,则 r = 0 r=0 r=0,而且存在 q q q使得 a = b q a=bq a=bq,即 a = b q + r a=bq+r a=bq+r
- 若 b ∤ a b\nmid{a} b∤a,则 r ≠ 0 r\neq{0} r=0,所以存在 q q q满足 q b < a < q b + b qb<a<qb+b qb<a<qb+b,将这个式子变形: 0 < a − q b < b 0<a-qb<b 0<a−qb<b;
- 令 r = a − q b r=a-qb r=a−qb,则 0 < r < b 0<r<b 0<r<b,由于 q q q存在,所以 r = a − q b r=a-qb r=a−qb也存在
- 综上,存在 q , r q,r q,r使得 a = b q + r a=bq+r a=bq+r,且 0 ⩽ r < b 0\leqslant{r}<b 0⩽r<b
而且 q , r q,r q,r存在完全对应的关系(一对一)
唯一性
唯一性命题或结论往往使用反证法,并且构造差式,证明相应差式为0
下面的证明利用了等式变形,绝对值不等式和整除的性质
设 q 1 , r 1 q_1, r_1 q1,r1 是满足(1)式的另一对整数,则有
b q 1 + r 1 = b q + r bq_1 + r_1 = bq + r bq1+r1=bq+r
于是有
b ( q − q 1 ) = r 1 − r b(q-q_1) = r_1 - r b(q−q1)=r1−r
及
b ∣ q − q 1 ∣ = ∣ r 1 − r ∣ b|q-q_1| = |r_1-r| b∣q−q1∣=∣r1−r∣。
因为 r r r 和 r 1 r_1 r1 都是小于 b b b 的非负整数,所以 0 ≤ ∣ r 1 − r ∣ < b 0 \leq |r_1-r| < b 0≤∣r1−r∣<b。
但 b ∣ ( ∣ r 1 − r ∣ ) b\mid{(|r_1-r|)} b∣(∣r1−r∣),故有 ∣ r 1 − r ∣ = 0 |r_1-r| = 0 ∣r1−r∣=0。因此 r = r 1 r = r_1 r=r1, q = q 1 q = q_1 q=q1。
带余除法和正负号
对于整数 a , b a,b a,b,当 a a a的符号变化之后,可能余数就会发生变化
例如
- a = 3 , b = 5 a=3,b=5 a=3,b=5, 3 = 0 × 5 + 3 3=0\times{5}+3 3=0×5+3
- a = − 3 a=-3 a=−3, b = 5 b=5 b=5, − 3 = − 1 × 5 + 2 -3=-1\times{5}+2 −3=−1×5+2
#求整数商
>>> -3//5
-1
>>> 3//5
0
>>> -3//-5
0
#取模/求余数
>>> 3%5
3
>>> -3%5
2
>>> 3%-5
-2
>>> -3%-5
-3
余数和取模相关性质
-
若 a , b a,b a,b都为正整数,且 a < b a<b a<b,则 b = a × 0 + a b=a\times{0}+a b=a×0+a,即 b m o d a = a b\mod{a}=a bmoda=a
-
这个性质在辗转相除法的程序设计中很有用,可以简化代码
-
假设这时候求 g c d ( a , b ) gcd(a,b) gcd(a,b),程序可以这么设计
int gcd(int a, int b) {a = abs(a);b = abs(b);if (a % b == 0){// a>=b的情况下才有可能return b;}else{/*(1)a<b时gcd(b, a);(2)a>b但a%b!=0 (2)gcd(b, a % b);如果考虑本节的性质,a<b时a%b=a,那么情况(1)可以的gcd(b,a)=g(b,a%b),和情况(2)的式子相同了所以上述两种情况(1)(2)合并*/return gcd(b, a % b);} }
-
如果要计算一正一负,两个负数的最大公约数,也可以转换为两个正整数的最大公约数的计算,只需要将 a , b a,b a,b分被取绝对值再计算;事实上 g c d ( a , b ) gcd(a,b) gcd(a,b)= g c d ( − a , b ) gcd(-a,b) gcd(−a,b)= g c d ( a , − b ) gcd(a,-b) gcd(a,−b)= g c d ( − a , − b ) gcd(-a,-b) gcd(−a,−b);
例如 g c m ( 2 , 4 ) gcm(2,4) gcm(2,4)= g c m ( − 2 , 4 ) gcm(-2,4) gcm(−2,4)= 2 2 2
自然数可以表示为任意进制数
下述结论表明自然数可以表示成任意 q ( > 1 ) q(>1) q(>1)进制数.
设 q q q是大于1的整数,则任意自然数 n n n可表示为
n = c m q m + ⋯ + c 1 q + c 0 , n=c_{m}q^{m}+\cdots+c_{1}q+c_{0}, n=cmqm+⋯+c1q+c0,
其中 m ⩾ 0 m\geqslant0 m⩾0, 0 ⩽ c i < q 0\leqslant c_{i}<q 0⩽ci<q, 0 ⩽ i ⩽ m 0\leqslant i\leqslant m 0⩽i⩽m, c m ≠ 0 c_{m}\neq0 cm=0.对于给定的 q q q,这种表示方法是惟一的.
上式称为** n n n的 q q q进制表示**.
然而小数的情况要复杂一些,例如十进制的0.1无法位数被二进制数精确表达
利用带余除法做整数的进制转换
n n n= ( c m q m − k c m − 1 q m − 1 − k ⋯ c k ) q k (c_{m}q^{m-k}c_{m-1}q^{m-1-k}\cdots{c_{k}})q^{k} (cmqm−kcm−1qm−1−k⋯ck)qk+ ( c k − 1 r k − 1 c k − 2 r k − 2 . ⋯ c 0 ) (c_{k-1}r^{k-1}c_{k-2}r^{k-2}.\cdots{c_{0}}) (ck−1rk−1ck−2rk−2.⋯c0)
小数点移位
n / r k n/r^{k} n/rk= [ c m c m − 1 ⋯ c k ] . c k − 1 ⋯ c 0 [c_{m}c_{m-1}\cdots{c_{k}}].c_{k-1}\cdots c_{0} [cmcm−1⋯ck].ck−1⋯c0
将 q q q进制数化为10进制数
$ a_{n}a_{n-1}\cdots a_{1}a_{0}=a_{n}\times10{n}+a_{n-1}\times10{n-1}+\cdots+a_{1}\times10+a_{0}. $
其中 a n a_{n} an, a n − 1 a_{n-1} an−1,…, a 1 a_{1} a1, a 0 a_{0} a0在0,1,2,…,9中取值( a n ≠ 0 a_{n}\neq 0 an=0, n ⩾ 0 n\geqslant 0 n⩾0).
例如4376=4× 1 0 3 10^{3} 103+3× 1 0 2 10^{2} 102+7× 1 0 1 10^{1} 101+6.
将10进制数化为 q q q进制数
设 a a a为10进制数,用 q q q去除 a a a,余数就是右起第一位数.将商除以 q q q的余数,得到右起第二位数.
如此继续,直到商小于 q q q为止.
例
例如,运用带余除法,可将十进制数101分别表为2进制数和8进制数:
101= 2 6 + 2 5 + 2 2 + 1 = ( 1100101 ) 2 2^{6}+2^{5}+2^{2}+1=(1100101)_{2} 26+25+22+1=(1100101)2,
101= 8 2 + 4 × 8 + 5 = ( 145 ) 8 . 8^{2}+4\times8+5=(145)_{8}. 82+4×8+5=(145)8.
在十进制中,数字符号有10个:0,1,2,…,9.在二进制中,数字符号只有2个:0,1.在 q q q进制中,数字符号有 q q q个:0,1,2,…, q − 1 q-1 q−1.