| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 信安数基第一章:整数的可除性 -> 正文阅读 |
|
[数据结构与算法]信安数基第一章:整数的可除性 |
1.1整除的概念,欧几里得除法1.1.1整除的概念定义1.1.1:设a,b是任意两个整数,其中b ≠ 0,如果存在一个整数q使得等式 因此: ? ·0是任何非0整数的倍数 ? ·1是任何整数的因数 ? ·任何整数a是其自身的倍数,也是其自身的因数 此外,因数在遍历时还具有一定的对称性,表现在: ? ·b遍历整数a的所有因数时,-b也遍历a的所有因数 ? ·b遍历整数a的所有因数时,a/b也遍历a的所有因数 *整除具有传递性:设a,b,c ≠ 0是三个整数,若 c ∣ b c\vert b c∣b, b ∣ a b\vert a b∣a, 则 c ∣ a 则c\vert a 则c∣a *在加法和减法运算中,整除的性质是保持的=>对于定义1.1.1,在整数a,b的线性组合中,整除的性质是保持的 ? ·上述性质可以推广至任意个整数 例1.16设a,b,c ≠ 0为三个整数, c ∣ a , c ∣ b c\vert a,c\vert b c∣a,c∣b。如果存在整数s,t使得 s ? a + t ? b = 1 s·a + t·b = 1 s?a+t?b=1,求证:c = ±1 定义1.1.2:设整数n ≠ 0,±1,如果除了显然因数±1和±n外,n没有其他因数,那么n就叫做素数,否则n叫做合数 ? ·1不是质数的原因:保证质因数分解的唯一性 1.1.2素数的埃氏筛法定理1.1.7:设n为正整数,如果对于所有的素数p ≤ sqrt(n),p都不是n的因数,那么n一定是素数 应用:对任意给定的正整数N,用埃氏筛法求出不超过N的所有素数只需要依次删除不大于sqrt(n)的所有素数除自身以外的所有倍数 *算法实现的思路可以是先找出大于0的最小素数m,然后用埃氏筛法筛出不超过m^2的所有素数;再进行迭代获得更大的 1.1.3欧几里得除法带余数的除法(对!就是小学学的那个!!!) 定理1.1.9(欧几里得除法):设a,b是两个整数,其中b>0,则存在唯一的整数q,r,使得 ①定理1.19的存在性证明: 考虑一个整数序列 如果分别存在整数q,r与q‘,r’满足定义式,则有 定义1.1.4:设x是实数,称x的整数部分为小于等于x的最大整数,记为[x],此时有 1.1.4素数的平凡判别*对给定的正整数N,若N被所有不大于sqrt(N)的素数做欧几里得除法的余数都部位0,则N是素数 1.1.5欧几里得除法的一般余数定理1.1.10(带一般余数的欧几里得除法):设a,b是两个整数,其中b>0,则对任意给定的整数c,存在唯一的整数q,r,使得 *一些特殊的一般余数:最小非负余数、最小正余数、最大非正余数、最大非负余数、绝对值最小余数(理解就行) 1.2整数的表示1.2.1b进制定理1.2.1:设b是大于1的正整数,则每个正整数n都可以唯一的表示成 上述定理中b是被表示整数的进制;a是每一位的值 对定义中的式子,有 定义1.2.1:用以下式表示展开式1.4 *推论:任何正整数都可以表示成不同的2的幂的和 进制转换①进制转换时,先用式1.4.2求出b进制下整数n的位数k ②然后用 [ n / ( b k ? 1 ) ] [n/(b^{k-1})] [n/(bk?1)]求出最高位系数,为方便表示,记为m ③ n ′ = n ? ( b k ? 1 ) ? m n' = n-(b^{k-1})·m n′=n?(bk?1)?m ④对n’重复步骤①~③直到只有1位且求出该位系数(包括小数) b进制四则运算像小学做计算那样列长式就可以(二进制运算有特殊法则,本课不涉及) 1.3最大公因数与广义欧几里得除法1.3.1最大公因数定义1.3.1:设 a 1 , a 2 , . . . , a n a_1, a_2, ..., a_n a1?,a2?,...,an?为n个整数(n≥2),若整数d是它们中每一个数的因数,则d就是它们的公因数 ? 如果整数 a 1 , . . . , a n a_1, ..., a_n a1?,...,an?不全为0,那么这些整数所有公因数中最大的一个就叫做 a 1 a_1 a1?到 a n a_n an?的最大公因数,记作 ( a 1 , . . . , a n ) (a_1, ..., a_n) (a1?,...,an?),或者 G C D ( a 1 , . . . , a n ) GCD(a_1, ..., a_n) GCD(a1?,...,an?) ? 特别地,当 ( a 1 , . . . , a n ) = 1 (a_1,...,a_n) = 1 (a1?,...,an?)=1时,称 a 1 , . . . , a n a_1, ..., a_n a1?,...,an?互质 贝祖(Bézout)定理:若a,b是整数,且 G C D ( a , b ) = d GCD(a,b) = d GCD(a,b)=d,那么对于任意的整数x,y, a ? x + b ? y a·x + b·y a?x+b?y都一定是d的倍数,特别地,一定存在整数x,y,使得 a ? x + b ? y = d a·x + b·y = d a?x+b?y=d成立 ? ·贝祖定理的证明附在下面,但是一般不要求掌握
? ·贝祖定理也可以扩展至任意个整数:
a
1
,
.
.
.
,
a
n
a_1, ..., a_n
a1?,...,an?的最大公因数d是集合 定理1.3.3:设a,b,c是三个不全为零的整数,若 a = q ? b + c a = q·b+c a=q?b+c,其中q是整数,则 ( a , b ) = ( b , c ) (a,b) = (b,c) (a,b)=(b,c)。 证:设 d = ( a , b ) d = (a,b) d=(a,b), d ′ = ( b , c ) d'=(b,c) d′=(b,c),则 d ∣ a d\vert a d∣a, d ∣ b d\vert b d∣b,取 a = m ? d a = m·d a=m?d, b = n ? d b = n·d b=n?d,则 m ? d = q ? n ? d + c m·d = q·n·d+c m?d=q?n?d+c 即 c = ( m ? q ? n ) ? d c = (m-q·n)·d c=(m?q?n)?d,即d是b,c的公倍数,所以 d ≤ d ’ d≤d’ d≤d’ 对d‘做相同操作,可得 d ′ ≤ d d'\leq d d′≤d 因此, d = d ′ d = d' d=d′ 1.3.2广义欧几里得除法计算最大公因数广义欧几里得除法过程的描述:设a,b是任意两个正整数,记
r
?
2
=
a
r_{-2}=a
r?2?=a,
r
?
1
=
b
r_{-1}=b
r?1?=b,反复运用欧几里得除法(辗转相除),有 * r n r_n rn?即为a,b的最大公因数 *经过有限步骤,必然存在n使得 r n + 1 = 0 r_{n+1}=0 rn+1?=0 ,因为 r i r_i ri?是初始为有限整数b,且随着i的增加, r i r_i ri?单调递减 贝祖等式
s n ? a + t n ? b = ( a , b ) s_n·a+t_n·b = (a,b) sn??a+tn??b=(a,b) 对
j
=
0
,
1
,
.
.
.
,
n
?
1
,
n
j = 0, 1, ..., n-1, n
j=0,1,...,n?1,n,这里
s
j
s_j
sj?,
t
j
t_j
tj?归纳的定义为 1.3.5最大公因数的进一步性质定理1.3.9:设a,b是任意两个不全为零的整数,d是正整数,则d是整数a,b的最大公因数的充要条件是
定理1.3.10:设a,b是任意两个不全为零的整数 ? (i)若m是任一正整数,则 ( m ? a , m ? b ) = m ? ( a , b ) (m·a,m·b)=m·(a,b) (m?a,m?b)=m?(a,b) ? (ii)若非零整数d满足
d
∣
a
d\vert a
d∣a,
d
∣
b
d\vert b
d∣b,则
(
a
d
,
b
d
)
=
(
a
,
b
)
∣
d
∣
(\cfrac{a}{d},\cfrac{b}{d})=\cfrac{(a,b)}{\vert d\vert }
(da?,db?)=∣d∣(a,b)?。特别地 ? 反过来,因为 ( a , c ) = 1 (a,c)=1 (a,c)=1,依据广义欧几里得除法,存在整数s,t使得 s ? a + t ? c = 1 s·a+t·c=1 s?a+t?c=1 ? 两端同时乘b,得到 s ? ( a b ) + ( t b ) ? c = b s·(ab)+(tb)·c=b s?(ab)+(tb)?c=b ? 又由 d ∣ a d\vert a d∣a, d ∣ c d\vert c d∣c,可得到 d ∣ [ s ? ( a b ) + ( t b ) ? c ] d\vert [s·(ab)+(tb)·c] d∣[s?(ab)+(tb)?c],即 d ∣ b d\vert b d∣b,同样可依据定理1.3.9,得到 d ∣ d ′ d\vert d' d∣d′ ? 所以 d = d ′ d=d' d=d′,定理成立 定理1.3.12:设
a
1
,
.
.
.
,
a
n
a_1,...,a_n
a1?,...,an?,c为整数,如果
(
a
i
,
c
)
=
1
(a_i,c)=1
(ai?,c)=1,
1
≤
i
≤
n
1≤i≤n
1≤i≤n则 证:设
d
=
(
a
,
b
)
d=(a,b)
d=(a,b),
d
′
=
(
u
,
v
)
d'=(u,v)
d′=(u,v),则可得到 又由假设可以得到 u = t ? a + ( ? s ) ? b , v = ( ? r ) ? a + q ? b u=t·a+(-s)·b,v=(-r)·a+q·b u=t?a+(?s)?b,v=(?r)?a+q?b,同理可得 d ∣ d ′ d\vert d' d∣d′ 因此d=d’,定理成立 多个整数的最大公因数定理1.3.14:设
a
1
,
a
2
,
.
.
.
,
a
n
a_1,a_2,...,a_n
a1?,a2?,...,an?是n个整数,且
a
1
≠
0
a_1≠0
a1??=0。令 1.3.7形为 2 a ? 1 2^a-1 2a?1的整数及其最大公因数引理1.3.1:设a,b是两个正整数,则 2 a ? 1 2^a-1 2a?1被 2 b ? 1 2^b-1 2b?1除的最小非负余数为 2 r ? 1 2^r-1 2r?1。其中,r为a被b除的最小余数 引理1.3.2:设a,b为为两个正整数,则 2 a ? 1 2^a-1 2a?1和 2 b ? 1 2^b-1 2b?1的最大公因数为 2 ( a , b ) ? 1 2^{(a,b)}-1 2(a,b)?1 ? 证明不难,可以自己尝试 定理1.3.16:设a,b为两个正整数,则 2 a ? 1 2^a-1 2a?1和 2 b ? 1 2^b-1 2b?1互素的充要条件为 ( a , b ) = 1 (a,b)=1 (a,b)=1,即a,b互素 1.4整除的进一步性质以及最小公倍数1.4.1整除的进一步性质定理1.4.2:若p是质数,且 p ∣ a ? b p\vert a·b p∣a?b,则 p ∣ a p\vert a p∣a或 p ∣ b p\vert b p∣b ? p是质数的前置条件很重要 定理1.4.3:若p是质数, a 1 , . . . , a n a_1, ..., a_n a1?,...,an?为n个整数,若 p ∣ a 1 ? . . . ? a n p\vert a_1·...·a_n p∣a1??...?an?,则p一定整除某一个整数 a k , k ∈ [ 1 , n ] a_k, k\in [1,n] ak?,k∈[1,n] 1.4.3最小公倍数与最大公因数定义1.4.1:设 a 1 , . . . , a n a_1, ..., a_n a1?,...,an?是n个整数,若D是这n个整数的倍数,则称D为 a 1 , . . . , a n a_1, ..., a_n a1?,...,an?的公倍数。 ? a 1 , . . . , a n a_1, ..., a_n a1?,...,an?所有公倍数中最小的正整数叫做它们的最小公倍数,记作 [ a 1 , . . . , a n ] [a_1, ..., a_n] [a1?,...,an?] 定理1.4.5:设 a , b a,b a,b是两个正整数,则
多个整数的最小公倍数:定理1.4.6:设
a
1
,
.
.
.
,
a
n
a_1, ..., a_n
a1?,...,an?是n个整数,设 1.5整数分解与算术基本定理定理1.5.1(整数分解定理):对于给定正整数
n
>
1
n>1
n>1,若存在整数a,b使得 证:
? 得证 定理1.6.1:任一整数n>1都可以表示成素数的乘积。在不考虑相乘顺序的情况下,该表达式是唯一的。 ? 当表达式的所有数都以幂次的形式给出,即写成 定理1.6.6:设a,b是两个正整数,则存在整数
a
′
∣
a
,
b
′
∣
b
a'\vert a,b'\vert b
a′∣a,b′∣b使得 参考资料信息安全数学基础(第二版)陈恭亮 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 17:20:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |