数论基础@整除相关概念和性质@带余除法定理

文章目录

    • abstract
      • 数论的主要内容
      • 数论的重要性和应用
    • 整除
      • 整除的定义
      • 整除@约数@倍数
      • 注意
      • 正约数
    • 相关概念的辨析
      • 整除(Divisibility)
      • 被整除(Being Divisible)
      • 除以@除
    • 整除的性质👺
      • 举例应用👺
    • 其他性质
      • 正约数性质1
        • 方法1
        • 方法2
        • 补充
      • 正约数性质2
      • 有意思的整除问题或性质
    • 带余除法定理
      • 存在性
      • 唯一性
      • 带余除法和正负号
      • 余数和取模相关性质
    • 自然数可以表示为任意进制数

abstract

数论(Number Theory)是数学中专门研究整数及其性质的学科。数论的历史可以追溯到古代,至今仍是数学中最富有魅力和活力的领域之一。

数论主要研究对象是整数、质数(prime numbers)以及它们之间的关系和规律。(小数不是数论讨论的重点,大多性质或定理描述的内容是关于整数)

由于其探讨的对象和问题往往与简单的算术现象紧密相关,数论有时被称为“高等算术”。

数论的主要内容

本文仅讨论最基础的初等数论知识,它们在计算机科学和程序设计方面有重要应用,非数学专业人员往往对这方面的知识比较欠缺

以前高中阶段,有些教材提供了数论基础章节,比如人教版选修

  1. 初等数论(Elementary Number Theory)

    • 研究基本的整数性质,如因数分解、最大公约数和最小公倍数、同余(congruences)、模运算(modular arithmetic)等。欧几里得算法和费马小定理都是初等数论中的基本工具。
    • 初等数论是数论的一个分支,主要研究整数的基本性质和基本运算,通常不借助于更高级的数学工具(如复分析或抽象代数)。尽管称为“初等”,初等数论中包含了许多深刻而有趣的理论,涉及整数的分解、同余关系、素数性质等内容。
  2. 代数数论(Algebraic Number Theory)

  3. 解析数论(Analytic Number Theory)

  4. 几何数论(Geometric Number Theory)

  5. 计算数论(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 ab),当且仅当存在整数 c c c 使得 b = a ⋅ c b = a \cdot c b=ac (1)

符号|整除号,整除号的左边是因数(称为整除数,在式(1)中充当除数),右边是被整除数,在式(1)中充当积;

因此整除号两边用含义直接表示为整除数|被整除数因数|倍数

a ∣ b a|b ab也可以读作: 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 ba。并称 b b b a a a约数(或因数) a a a b b b倍数。否则称 b b b 不能整除 a a a,记作 b ∤ a b \nmid a ba

  • 例如,7 | 105,105 是 7 的倍数; 7 ∤ 48 7\nmid 48 748,48 不是 7 的倍数;1、3、5、7、15、21、35、105 都是 105 的约数;1 和 11 是 11 的约数;等等。

注意

  • 0 不是任何整数的约数但 0 是任何整数的倍数(任何数乘以0都是0)。
    • (说明了倍数不一定比约数要小, b ∣ a b|a ba不揭示 a , b a,b a,b的大小关系),除非指定 a ≠ 0 a\neq{0} a=0,那么有 ∣ b ∣ ⩽ ∣ a ∣ |b|\leqslant|a| ba
  • 符号 b ∣ a b | a ba 本身包含了条件 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 ab,表示“ 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=ac,那么 a ∣ b a \mid b ab 成立。

a ∣ b a|b ab可以理解为

  • a a a来分 b b b,分完后每份都是 a a a
  • b b b平均分成 a a a份,每份都是整数

例如, 3 ∣ 6 3 \mid 6 36 表示3整除6,这个命题成立,因为存在整数2使得 6 = 3 ⋅ 2 6 = 3 \cdot 2 6=32。在这种表达中:

  • 被整除数 b b b(即6)。
  • 整除数 a a a(即3)。

被整除(Being Divisible)

被整除的概念是从整除的角度反过来看。例如,在“3 整除 6”或“ 3 ∣ 6 3 \mid 6 36”这个表达中,6被3整除。换句话说:

  • 如果 a ∣ b a \mid b ab,那么 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/bb除a,表示用 b b b a a a

整除的性质👺

  1. b ∣ a b | a ba,$ c | b$,则 c ∣ a c | a ca(传递性)
  2. c ∣ a , c ∣ b c | a, c | b ca,cb,则对任意整数 x , y x, y x,y(可以为负整数),必有 c ∣ ( a x + b y ) c | (ax + by) c(ax+by)(线性组合性质,同一个因数的不同倍数间的线性组合仍然是这个因数的倍数)
  3. b ∣ a , a ≠ 0 b | a, a \neq 0 ba,a=0,则 ∣ b ∣ ⩽ ∣ a ∣ |b| \leqslant |a| ba;若 b ∣ a b|a ba, ∣ a ∣ < ∣ b ∣ |a|<|b| a<b,则 ∣ a ∣ = a = 0 |a|=a=0 a=a=0
  4. b ∣ a , a ≠ 0 b | a, a \neq 0 ba,a=0,则 a b ∣ a \frac{a}{b} \mid a baa
  5. a , b ∈ Z + a,b\in\mathbb{Z_{+}} a,bZ+, a ∣ b a|b ab b ∣ a b|a ba,则 a = b a=b a=b
  6. a , m ∈ Z a,m\in\mathbb{Z} a,mZ, a ≠ 0 a\neq{0} a=0, a ∣ a m a|am aam
  7. a ∣ b a|b ab, m ∈ Z , m ≠ 0 m\in\mathbb{Z},m\neq{0} mZ,m=0,则 a m ∣ b m am|bm ambm
  8. a b = m ab=m ab=m, ( a , b , m ∈ Z , m ≠ 0 ) (a,b,m\in\mathbb{Z},m\neq{0}) (a,b,mZ,m=0),则 a ∣ m , b ∣ m a|m,b|m am,bm

它们都可以通过定义推导和验证

举例应用👺

求证:设 3 ∣ m , 7 ∣ m 3 \mid m, 7 \mid m 3m,7m,则 21 ∣ m 21 \mid m 21m

  • 这个命题的证明有一定的技巧性,需要配出来线性组合性质的系数来利用对应的整除性质进行证明

证明:

3 ∣ m 3 \mid m 3m,可写 m = 3 q m = 3q m=3q ( q ∈ Z ) (q\in\mathbb{Z}) (qZ)

由此及 7 ∣ m 7 \mid m 7m 7 ∣ 3 q 7 \mid 3q 73q。由 7 ∣ 7 q , 7 ∣ 3 q 7 \mid 7q, 7 \mid 3q 77q,73q 及线性组合性质可得 7 ∣ [ 7 q − 2 × ( 3 q ) ] 7 \mid [7q - 2 \times (3q)] 7[7q2×(3q)],即 7 ∣ q 7 \mid q 7q

因此可令 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 21m

类似地,若 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∣(3q2q),即 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 (q1q2qk)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) miS,(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} MS

又因为 M , S M,S M,S各自有 k k k个不同元素,所有 M = S M=S M=S;所有 q 1 ⋯ q k q_{1}\cdots{q_{k}} q1qk= m 1 ⋯ m k m_{1}\cdots{m_{k}} m1mk

由条件可知 ∏ 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 (q1q2qk)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=qk1n,,qk=q1n

  • 实际上 q i q k − i + 1 = n q_{i}q_{k-i+1}=n qiqki+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} q1q2qk=qkn×qk1n××q1n ⇒ ( q 1 q 2 ⋯ q k ) 2 = n k . \Rightarrow (q_1 q_2 \cdots q_k)^2 = n^k. (q1q2qk)2=nk.

补充

有些教材中的证明将 q i q k − i + 1 = n q_{i}q_{k-i+1}=n qiqki+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} jk1;如果 j < k − 1 j<k-1 j<k1,那么说明 q 2 q k − 1 > n q_{2}q_{k-1}>n q2qk1>n,而 n / q k − 1 ∈ S n/q_{k-1}\in{S} n/qk1S从而只能 a 1 q k − 1 = n a_{1}q_{k-1}=n a1qk1=n,而这与 q 1 a k = n q_{1}a_{k}=n q1ak=n矛盾,所以 j = k − 1 j=k-1 j=k1
    • 所以 q 2 q k − 1 = n q_{2}q_{k-1}=n q2qk1=n
  • i = 3 i=3 i=3
    • 因为 q 2 q k − 1 = n q_{2}q_{k-1}=n q2qk1=n, q 3 q j = n q_{3}q_{j}=n q3qj=n必有 j ⩽ k − 2 j\leqslant{k-2} jk2;
    • 如果 j < k − 2 j<k-2 j<k2,则 q 3 q k − 2 > n q_{3}q_{k-2}>n q3qk2>n, n / q k − 2 ∈ S n/q_{k-2}\in{S} n/qk2S,从而只能 q 1 q k − 2 = n q_{1}q_{k-2}=n q1qk2=n,或者 q 2 q k − 2 = n q_{2}q_{k-2}=n q2qk2=n;再由前面的结论,这两个情况都不可能,所以 j = k − 2 j=k-2 j=k2
    • 随意 q 3 q k − 2 = n q_{3}q_{k-2}=n q3qk2=n
  • …以此类推, q i q k − i + 1 = n q_{i}q_{k-i+1}=n qiqki+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+2i=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+11)/2= k k k,说明第 k + 1 k+1 k+1个元素是中间元素(从正数倒数都是第 k + 1 k+1 k+1个)

有意思的整除问题或性质

  • 三个连续整数的和是3的倍数

    • a ∈ Z a\in{\mathbb{Z}} aZ,是三个连续整数中最小的数,则三数之和为 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)(a2ab+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} nZ,则 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 n1,n+2是3的倍数
    • r = 2 r=2 r=2时, n − 2 , n + 1 n-2,n+1 n2,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 n2,n1,n中也至少有一个是3的倍数
      • 因此,任意3个连续整数中有且只有一个3的倍数
  • n ∈ Z + n\in\mathbb{Z_{+}} nZ+,则 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_+} SZ+那么可以得出 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)+(n1))= 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)+(n1)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=(n1)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) (0r<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=abq也是一个整数,所以 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 qba<(q+1)b=qb+b,可得 0 ⩽ a − q b < b 0\leqslant{a-qb}<b 0aqb<b
r = a − q b r = a - qb r=aqb,因为 q q q存在,所以 r r r存在,则 0 ≤ r < b 0 \leq r < b 0r<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 ba,则 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} ba,则 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<aqb<b;
    • r = a − q b r=a-qb r=aqb,则 0 < r < b 0<r<b 0<r<b,由于 q q q存在,所以 r = a − q b r=a-qb r=aqb也存在
  • 综上,存在 q , r q,r q,r使得 a = b q + r a=bq+r a=bq+r,且 0 ⩽ r < b 0\leqslant{r}<b 0r<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(qq1)=r1r

b ∣ q − q 1 ∣ = ∣ r 1 − r ∣ b|q-q_1| = |r_1-r| bqq1=r1r

因为 r r r r 1 r_1 r1 都是小于 b b b 的非负整数,所以 0 ≤ ∣ r 1 − r ∣ < b 0 \leq |r_1-r| < b 0r1r<b

b ∣ ( ∣ r 1 − r ∣ ) b\mid{(|r_1-r|)} b(r1r),故有 ∣ r 1 − r ∣ = 0 |r_1-r| = 0 r1r=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 m0 0 ⩽ c i < q 0\leqslant c_{i}<q 0ci<q 0 ⩽ i ⩽ m 0\leqslant i\leqslant m 0im 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} (cmqmkcm1qm1kck)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}}) (ck1rk1ck2rk2.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} [cmcm1ck].ck1c0

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} an1,…, 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 n0).

例如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 q1.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/60434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【实用技能】ASP.NET Core:在同一个 Razor 视图中使用文档编辑器和查看器

Essential Studio for ASP.NET Core UI控件库是构建应用程序所需的卓越套件&#xff0c;提供支持的 ASP.NET Core 工具包拥有超过 85 个组件&#xff0c;包含构建业务线应用程序所需的一切&#xff0c;包括数据网格、图表、甘特图、图表、电子表格、时间表、数据透视网格等流行…

Mapwindow5代码BUG记录1

Mapwindow5代码BUG记录 一、查询功能多次点击后窗体错误1、正常情况2、BUG界面位置3、BUG表现4、BUG代码位置5、BUG代码修改6、BUG影响版本 一、查询功能多次点击后窗体错误 1、正常情况 2、BUG界面位置 表编辑器——》工具——》查找 Table editor——》Tools——》Find …

WPF中如何使用区域导航

1.创建一个Prism框架的项目并设计好数据源 User如下&#xff1a; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace WPF练习17区域导航.Models {public class User{public int UserId { get; …

基于Cocos Creator开发的打砖块游戏

一、简介 Cocos简而言之就是一个开发工具&#xff0c;详见官方网站TypeScript简而言之就是开发语言&#xff0c;是JavaScript的一个超集详解官网 今天我们就来学习如何写一个打砖块的游戏&#xff0c;很简单的一个入门级小游戏。 二、实现过程 2.1 布局部分 首先来一个整体…

【数据结构】线性表——栈与队列

写在前面 栈和队列的关系与链表和顺序表的关系差不多&#xff0c;不存在谁替代谁&#xff0c;只有双剑合璧才能破敌万千~~&#x1f60e;&#x1f60e; 文章目录 写在前面一、栈1.1栈的概念及结构1.2、栈的实现1.2.1、栈的结构体定义1.2.2、栈的初始化栈1.2.3、入栈1.2.4、出栈…

Rust编程与项目实战-特质(Trait)

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust编程与项目实战_夏天又到了的博客-CSDN博客 特质&#xff08;Trait&#xff09;是Rust中的概念&#xff0c;类似于其他语言中的接…

运维之systemd 服务(Systemd Service of Operations and Maintenance)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

Vue — 组件化开发

组件化开发&#xff1a;一个页面可以拆分成一个个组件&#xff1b;每个组件都有自己独立的结构、样式、行为 组件分类&#xff1a;普通组件、根组件 其中根组件包裹着所有普通小组件 普通组件的注册使用&#xff1b;有两种注册方式 局部注册全局注册 局部注册 目标&#xff…

【软考】系统架构设计师-计算机系统基础(2):操作系统

1、操作系统基础 OS的5个核心功能&#xff1a;进程管理、存储管理、设备管理、文件管理、作业管理 OS的3个作用&#xff1a;管理运行的程序和分配各种软硬件资源&#xff1b;提供友善的人机界面&#xff1b;为程序应用的开发和运行提供高效的平台 OS的4个特征&#xff1a;并…

Android ANR分析总结

1、ANR介绍 ANR&#xff08;Application Not Responding&#xff09;指的是应用程序无响应&#xff0c;当Android应用程序在主线程上执行长时间运行的操作或阻塞I/O操作时发生。这可能导致应用程序界面冻结或无法响应用户输入。 1、Service ANR&#xff1a;前台20s&#xff0…

WebRTC视频 01 - 视频采集整体架构

一、前言&#xff1a; 我们从1对1通信说起&#xff0c;假如有一天&#xff0c;你和你情敌使用X信进行1v1通信&#xff0c;想象一下画面是不是一个大画面中有一个小画面&#xff1f;这在布局中就叫做PIP&#xff08;picture in picture&#xff09;&#xff1b;这个随手一点&am…

Jenkins应用详解(Detailed Explanation of Jenkins Application)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

【Python】计算机视觉应用:OpenCV库图像处理入门

计算机视觉应用&#xff1a;OpenCV库图像处理入门 在当今的数字化时代&#xff0c;计算机视觉&#xff08;Computer Vision&#xff09;已经渗透到各行各业&#xff0c;比如自动驾驶、智能监控、医疗影像分析等。而 Python 的 OpenCV 库&#xff08;Open Source Computer Visi…

ctfshow-web入门-反序列化(web260-web264)

目录 1、web260 2、web261 3、web262 4、web263 5、web264 1、web260 要求传入的内容序列化后包含指定内容即可&#xff0c;在 PHP 序列化中&#xff0c;如果键名或值包含 ctfshow_i_love_36D&#xff0c;那么整个序列化结果也会包含这个字符串。 payload&#xff1a; ?…

Python 爬虫运行状态监控:进度、错误与完成情况

Python 爬虫运行状态监控&#xff1a;进度、错误与完成情况 在进行大规模数据爬取时&#xff0c;监控爬虫的运行状态至关重要。通过实时监控&#xff0c;可以了解爬虫的工作进度、出现的错误以及任务完成情况。这样可以及时发现并解决问题&#xff0c;确保数据抓取任务顺利进行…

Flutter错误: uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared

前言 今天要做蓝牙通信的功能&#xff0c;我使用了flutter_reactive_ble这个库&#xff0c;但是在运行的时候发现一下错误 Launching lib/main.dart on AQM AL10 in debug mode... /Users/macbook/Desktop/test/flutter/my_app/android/app/src/debug/AndroidManifest.xml Err…

除了易我数据恢复,这10个数据恢复软件也能点亮数据找回的希望之光。

易我数据恢复工具具有广泛的系统兼容性&#xff0c;并且里面功能丰富&#xff0c;操作简单&#xff0c;能够完成多种数据恢复操作&#xff0c;是一款比较专业的数据恢复软件。如果大家在为数据丢失而烦恼的话&#xff0c;我可以推荐几款好用的数据恢复软件给大家。 1、福昕数据…

Vue Cli 脚手架目录文件介绍

小试牛刀 //vetur高亮; vuetab 快速生成 <template><div class"box">我是个盒子<button click"fn">按钮</button></div> </template><script> export default {methods:{fn(){alert("Hello Vue")}} …

在公司中,如何表现出自己的高情商,学会这三句话就可以了

在职场中&#xff0c;高情商的重要性不言而喻。它能帮助你更好地处理人际关系&#xff0c;提升团队协作效率&#xff0c;还能让你在职场上获得更多的机会。 在职场中&#xff0c;适时地给予同事、上级和下属赞美、感谢和鼓励&#xff0c;能够拉近彼此的距离&#xff0c;增强团…

cache(五)Write-through,Write-back,Write-allocate,No-write-allocate

这张图总结了缓存系统中写操作策略的不同方法&#xff0c;主要讨论了在**写命中&#xff08;write-hit&#xff09;和写未命中&#xff08;write-miss&#xff09;**情况下应该采取的操作策略。 1. 多个数据副本的存在 缓存系统通常有多个级别&#xff0c;例如 L1 缓存、L2 缓…