【数论】第1章 整数的可除性 第1节 整除概念与带余除法(3) 带余除法
本文属于「数论」系列文章之一。这一系列着重于数论算法的学习和应用。由于内容随时可能发生更新变动,欢迎关注和收藏数论算法系列文章汇总目录一文以作备忘。此外,在本系列学习文章中,为了透彻理解数论知识,本人参考了诸多博客、教程、文档、书籍等资料。以下是本文的不完全参考目录,在后续学习中还会逐渐补充:
- 数论算法,姜建国、臧明相编著,西安电子科技大学出版社
文章目录
- 1. 带余除法
- 1.1 带余除法定义及扩展
- 1.2 带余除法的应用
初等数论的证明中最重要、最基本、最常用的工具就是带余除法(或称带余数除法、除法算法、欧几里得除法),它承前(整除)启后(模运算、同余)。
1. 带余除法
1.1 带余除法定义及扩展
定理1.1.3 设 a,ba, ba,b 是两个给定的整数,b≠0b \ne 0b=0 ,则一定存在唯一的一对整数 q,rq, rq,r 满足 a=qb+r,0≤r<∣b∣a = qb + r, \quad 0 \le r < |b|a=qb+r,0≤r<∣b∣
注意,此处约定余数 rrr 为非负整数,于是 −7=−3⋅3+2-7 = -3 \cdot 3 + 2−7=−3⋅3+2(即 −7/3=−3-7 / 3 = -3−7/3=−3 ,除法向下取整)和 −7=−2⋅3−1-7 = -2 \cdot 3- 1−7=−2⋅3−1 (即 −7/3=−2-7 / 3 = -2−7/3=−2 ,除法向零取整/截断小数,即C/C++的整型除法)之间,我们取前者为准。
一般情况下,我们还约定 b>0b > 0b>0 ,则上式可表示为 a=qb+r,0≤r<b(1.1.1)\tag{1.1.1} a = qb + r, \quad 0\le r< ba=qb+r,0≤r<b(1.1.1)
证明 先证明存在性。当 b∣ab \mid ab∣a 时,可取 q=a/b,r=0q = a/ b, r = 0q=a/b,r=0 。当 b∤ab \nmid ab∤a 时,考虑集合 T={kb∣k=0,±1,±2,…}={…,−3b,−2b,−b,0,b,2b,3b,…}T = \{ kb \mid k = 0, \pm 1, \pm 2, \dots \} = \{ \dots, -3b, -2b, -b, 0, b, 2b, 3b, \dots \}T={kb∣k=0,±1,±2,…}={…,−3b,−2b,−b,0,b,2b,3b,…}
将实数分为长度为 bbb 的区间,aaa 必落在某区间内,即存在整数 qqq ,使得 qb≤a<(q+1)bqb \le a \lt (q + 1) bqb≤a<(q+1)b
令 r=a−bq≥0r = a - bq \ge 0r=a−bq≥0 ,则有 a=qb+r,0≤r<ba = qb + r, \quad 0\le r \lt ba=qb+r,0≤r<b
再证明唯一性。设另有两整数 q1,r1q_1, r_1q1,r1 也满足式 (1.1.1)(1.1.1)(1.1.1) ,即 a=q1b+r1,0≤r1<ba = q_1 b + r_1, \quad 0 \le r_1 \lt ba=q1b+r1,0≤r1<b
那么必有 b(q−q1)=−(r−r1)b (q - q_1 ) = -(r - r_1)b(q−q1)=−(r−r1)
当 q≠q1q \ne q_1q=q1 时,有 ∣b(q−q1)∣≥b,∣−(r−r1)∣<b|\ b(q - q_1)\ | \ge b,\ |-(r - r_1)\ | < b∣ b(q−q1) ∣≥b, ∣−(r−r1) ∣<b
矛盾,故必有 q=q1,r=r1q = q_1, r = r_1q=q1,r=r1 。
推论 设整数 a,b,ra, b, ra,b,r 满足式 (1.1.1)(1.1.1)(1.1.1) 中给出的关系,则 b∣ab \mid ab∣a 的充要条件是 r=0r = 0r=0 。
证明 由整除的定义1.1.1和定理1.3的结论,即知推论成立。
现在我们由整除扩展到了带余除法,不过带余除法还可以进一步扩展为更一般的方式。
定理1.1.4 设 a,ba, ba,b 是两个给定的整数,b≠0b \ne 0b=0 ,则对任意整数 ccc ,一定存在唯一的一对整数 q,rq, rq,r ,满足 a=qb+r,c≤r<∣b∣+c(1.1.2)\tag{1.1.2}a = qb + r, \quad c\le r \lt |b| + ca=qb+r,c≤r<∣b∣+c(1.1.2)
证明 类似定理1.1.3,先证存在性,再证唯一性。证明存在性时,只要将区间设为 T={kb+c∣k=0,±1,±2,…}T = \{ kb + c \mid k = 0, \pm 1, \pm 2, \dots \}T={kb+c∣k=0,±1,±2,…} 即可。
推论 设整数 a,b,ra, b, ra,b,r 满足式 (1.1.2)(1.1.2)(1.1.2) 中给出的关系,则 b∣ab\mid ab∣a 的充要条件是 b∣rb\mid rb∣r 。
由上述带余除法的定义及其扩展,可以给出如下定义。
定义1.1.3 设 a=qb+r(0≤r<b)a = qb + r(0\le r < b)a=qb+r(0≤r<b) ,则称 qqq 为 aaa 被 bbb 除所得的不完全商,称 rrr 为 aaa 被 bbb 除所得的非负余数,记为 r=(a)br = (a)_br=(a)b 。
推论 b∣ab\mid ab∣a 的充要条件是 aaa 被 bbb 除所得的余数 r=0r = 0r=0 。
定义1.1.3中要求余数 rrr 满足 0≤r<b0 \le r < b0≤r<b ,而实际问题中可能需要突破此限制。故关于常见的余数范围,有以下分类和命名:
(1)最小非负余数:c=0,0≤r<bc = 0, 0\le r< bc=0,0≤r<b
(2)最小正余数:c=1,1≤r≤bc = 1, 1\le r \le bc=1,1≤r≤b
(3)最大非正余数:c=−b+1,−b+1≤r≤0c = -b + 1, -b + 1 \le r \le 0c=−b+1,−b+1≤r≤0
(4)最大负余数:c=−b,b≤r<0c = -b, b \le r < 0c=−b,b≤r<0
(5)最小绝对余数:−b2≤r<b2-\dfrac{b}{2} \le r < \dfrac{b}{2}−2b≤r<2b 或 −b2<r≤b2-\dfrac{b}{2}< r\le \dfrac{b}{2}−2b<r≤2b
一般情况下,当 a=qb+ra = qb + ra=qb+r 且选 0≤r<b0 \le r < b0≤r<b 时,有 q=⌊ab⌋,r=a−b⌊ab⌋q = \lfloor \dfrac{a}{b}\rfloor,\ r = a - b\lfloor \dfrac{a}{b}\rfloorq=⌊ba⌋, r=a−b⌊ba⌋ 。其中符号 ⌊x⌋\lfloor x\rfloor⌊x⌋ 称为下整数函数,即针对实数 xxx ,⌊x⌋\lfloor x\rfloor⌊x⌋ 的值为不大于 xxx 的最大整数(详见2.2节)。例如 ⌊3.1⌋=⌊3.5⌋=⌊3.9⌋=3,⌊−3.1⌋=⌊−3.5⌋=⌊−3.9⌋=−4\lfloor 3.1\rfloor = \lfloor 3.5\rfloor = \lfloor 3.9 \rfloor = 3,\ \lfloor -3.1 \rfloor = \lfloor -3.5 \rfloor = \lfloor -3.9 \rfloor = -4⌊3.1⌋=⌊3.5⌋=⌊3.9⌋=3, ⌊−3.1⌋=⌊−3.5⌋=⌊−3.9⌋=−4 。
1.2 带余除法的应用
【例1】设 a=100,b=30a = 100, b = 30a=100,b=30 ,当 ccc 分别为 10,35,−5010, 35, -5010,35,−50 时,写出 a,b,ca, b, ca,b,c 三者如式 (1.1.2)(1.1.2)(1.1.2) 表示的关系。
解:当 c=10c = 10c=10 时,有 10≤r<4010 \le r < 4010≤r<40 ,从而有 100=3⋅30+10100 = 3 \cdot 30 + 10100=3⋅30+10 。
当 c=35c = 35c=35 时,有 35≤r<6535 \le r < 6535≤r<65 ,从而有 100=2⋅30+40100 = 2 \cdot 30 + 40100=2⋅30+40 。
当 c=−50c = -50c=−50 时,有 −50≤r<−20-50 \le r < -20−50≤r<−20 ,从而有 100=5⋅30+(−50)100 = 5 \cdot 30 + (-50)100=5⋅30+(−50) 。
由定理1.1.4的推论可知,当 a=qb+ra = qb + ra=qb+r 时,b∣ab\mid ab∣a 的充要条件是 b∣rb\mid rb∣r ,故当 rrr 满足 0≤r<b0 \le r < b0≤r<b 时,就有 b∣r⇔r=0b \mid r \Lrarr r = 0b∣r⇔r=0 ,即定理1.1.3的推论结果。
定理1.1.4的意义在于,当判断 bbb 能否整除 aaa 时,可以化简判断过程。即利用减法(避免做除法运算)就可以达到快速判断的目的,尤其是提高心算的速度。
【例2】判断 777 能否整除 123451234512345 。
解:令 a=12345,b=7a = 12345, b = 7a=12345,b=7 ,则可看出先选 q1=1000q_1 = 1000q1=1000 ,即得 r1=5345r_1 = 5345r1=5345 。由定理1.1.4的推论可知,7∣123457 \mid 123457∣12345 的充要条件是 7∣53457\mid 53457∣5345 。
以此类推,可选 q2=700q_2 = 700q2=700 ,得 r2=445r_2 = 445r2=445 ,再选 q3=60q_3 = 60q3=60 ,得 r3=25r_3 = 25r3=25 。最后由 r3r_3r3 可知,7∤123457 \nmid 123457∤12345 。
【数论】第1章 整数的可除性 第1节 整除概念与带余除法(3) 带余除法相关推荐
- 【数论】第1章 整数的可除性 第1节 整除概念与带余除法(1) 整除及其性质
本文属于「数论」系列文章之一.这一系列着重于数论算法的学习和应用.由于内容随时可能发生更新变动,欢迎关注和收藏数论算法系列文章汇总目录一文以作备忘.此外,在本系列学习文章中,为了透彻理解数论知识,本人 ...
- 【数论】第1章 整数的可除性 第3节 最大公因数与辗转相除法(1) 最大公因数及其性质
本文属于「数论」系列文章之一.这一系列着重于数论算法的学习和应用.由于内容随时可能发生更新变动,欢迎关注和收藏数论算法系列文章汇总目录一文以作备忘.此外,在本系列学习文章中,为了透彻理解数论知识,本人 ...
- 【数论】第1章 整数的可除性 第2节 整数的表示
本文属于「数论」系列文章之一.这一系列着重于数论算法的学习和应用.由于内容随时可能发生更新变动,欢迎关注和收藏数论算法系列文章汇总目录一文以作备忘.此外,在本系列学习文章中,为了透彻理解数论知识,本人 ...
- 【数论】第1章 整数的可除性(1) 整除概念与带余除法(2) 素数
本文属于「数论」系列文章之一.这一系列着重于数论算法的学习和应用.由于内容随时可能发生更新变动,欢迎关注和收藏数论算法系列文章汇总目录一文以作备忘.此外,在本系列学习文章中,为了透彻理解数论知识,本人 ...
- 设计的萌芽阶段_第一章 设计的萌芽阶段 第一节 设计概念的产生
第一节 设计概念的产生 在设计概念的产生过程中,劳动起着决定性的作用.劳动创造了人,而人类为了自身的生存就必须与自然界做斗争.人类最初只会用天然的石块或棍棒作为工具,以后渐渐学会了拣选石块.打制石器, ...
- 《Reids 设计与实现》第四章 整数集合和压缩列表
<Reids 设计与实现>第四章 整数集合和压缩列表 文章目录 <Reids 设计与实现>第四章 整数集合和压缩列表 一.整数集合 1.简介 2.整数集合的实现 3.升级 4. ...
- 第1章 整数 |《初等数论及其应用》
数和序列 良序性质 每个非空的正整数集合都有一个最小元 所有整数的集合不是良序的. 有理数 可以被写为整数的比的数的集合(若存在整数p,q ≠ 0,使得r = p / q,则称实数r为有理数) 代数数 ...
- 【重识云原生】第六章容器6.1.7.2节——cgroups原理剖析
<重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...
- 【重识云原生】第六章容器6.4.2.3节——Pod使用(下)
<重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...
最新文章
- 【开发环境】Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出 GB2312 格式处理中文乱码 | \r\n换行 | Runtime 执行 Cmd 命令 )
- 【分割模型解读】感受野与分辨率的控制术—空洞卷积
- ubuntu16 redis5.0以前版本集群部署示例
- Django与Ajax
- C#LeetCode刷题-Shell
- 福州三中 计算机竞赛,重磅快讯 | 刚刚,信息学奥赛世界金牌得主钟子谦凯旋!...
- 2019 年备受争议的 Facebook 能否走出去年的阴影?| 畅言
- 5个性能强悍的黑科技APP,请低调收藏,高调使用!
- matlab命令及海洋作图
- windows 覆盖图标实现
- Android WebView开发(三):WebView性能优化
- 【软件测试基础理论知识】1.1.常见的软件开发模型之———瀑布模型、原型模型、快速原型模型
- c226打印机驱动安装_打印机驱动安装失败怎么办 打印机驱动安装方法【步骤详解】...
- 九宫格拼图 | 8Puzzle | C/C++实现
- 手机网速正常电脑很慢_路由器WiFi速度正常,但电脑和手机上网速度慢怎么办?...
- gif动图怎么制作更简单,手把手教你在线gif制作
- 【Hadoop】单机、伪分布式、完全分布式集群搭建
- Computer Transformation UVA - 1647
- python在线编程练习_有哪些在线编程练习网站?
- SQL Server 2008 序列号