离散数学-newcha.ppt
《离散数学-newcha.ppt》由会员分享,可在线阅读,更多相关《离散数学-newcha.ppt(70页珍藏版)》请在三一办公上搜索。
1、,离散数学,第5章 数 论 简 介,国外计算机科学教材序列离散数学(第6版)Richard Johnsonbaugh石纯一 等译 电子工业出版社,数论是数学里研究整数的一个分支。传统上,由于它的抽象本质大于它的应用,因此将数论看做是数学的一个纯粹的分支。英国数学家G.H.Hardy将数论看做是一个漂亮的、但不实用的数学分支。然而,在20 世纪后期,数论在密码系统(为了通信安全的系统)中得到了极大的应用。,内容,基本的数论定义,如“整除”和“素数”。因子分解、最大公因子和最小公倍数。整数的表示和一些整数算术的算法。用来计算最大公因子的欧几里得算法用于安全通信的RSA 系统。,5.1 因子,定义5
2、.1.1 令n 和d 是整数,d 0。如果存在一个整数q 满足n=dq,称d 整除n。称q 是商,d是n 的一个因子或者约数。如果d 整除n,记做d|n。如果d 不能整除n,记做d|n。,由于21=37,3 整除21,记做3|21。商是7,称3 是21 的一个因子或者约数。注意到如果n 和d 是正整数,且d|n,那么d n。(如果d|n,那么存在一个整数q 使得n=dq。由于n 和d 是正整数,1 q。因此,d dq=n。)无论整数d 0 是否整除整数n,存在一个惟一的整数q(商)和r(余数)满足n=dq+r,0 r d)。余数r 等于0 当且仅当d可以整除n。,令m、n 和d 是正整数。如果
3、d|m 且d|n,那么d|(m+n)。(b)如果d|m 且d|n,那么d|(m-n)。(c)如果d|m,那么d|mn。,对于一个大于1 的整数,它的因子只有其自身和1 被称为素数。一个大于1 的不是素数的整数称为合数。整数23 是一个素数,因为只有其本身和1 是它的因子。整数34 是合数因为它可以被17整除,17 既不是1 也不是34。,如果整数n 1是合数,那么它有一个正因子d 既不是1 也不是其自身。由于d 是正的且d 1,d 1。因为d 是n 的一个因子,d n。由于d n,d n。因此,判断一个正整数n 是否是合数,只需要试验一下整数2,3,.,n-1中的任何一个是否可以整除n。如果序
4、列中存在某个整数能整除n,那么n 是合数。如果序列中没有整数可以整除n,那么n 是素数。,序列 2,3,4,5,.,41,42中没有数可以整除43;因此,43 是一个素数。检查序列2,3,4,5,.,449,450中451 的可能的因子。11 可以整除451(451=1141);因此,451 是一个合数。,一个大于1 的正整数n 是合数当且仅当它有一个因子d,满足2 d。证明 必须证明如果n 是合数,那么n 有一个因子d,满足2 d,而且如果n 有一个因子d,满足2 d,那么n 是合数。,算法5.1.8 时间为(),判断一个整数是否是素数 这个算法判断一个整数n 1 是否是素数。如果n 是素数
5、,算法返回0。如果n 是合数,算法返回一个因子d 满足2 d。为了判断d 是否整除n,算法检查n 被d 整除后余数n mod d 是否是0。,算法5.1.8 不是多项式时间的。,关于输入规模不是多项式时间的。目前还不知道是否存在一种多项式时间的算法,可以找到一个给定整数的因子;但是很多计算机科学家认为不存在这种算法。另一方面,Manindra Agarwal 与他的两个学生Nitin Saxena 和Neeraj Kayal,最近(2002 年)发现了可以判断一个给定整数是否是素数的多项式时间算法。是否存在一个分解整数的多项式时间算法,这个问题不仅仅有学术上的重要性,因为目前很多密码系统都依赖
6、于不存在这样一个算法。,如果一个合数n 输入到算法5.1.8 中,返回的因子是一个素数;也就是算法5.1.8 中返回一个合数的素数因子。如果输入n=1274 到算法5.1.8 中,算法返回素数2,因为素数2 整除1274,即1274=2637如果现在输入n=637 到算法5.1.8 中,算法返回素数7,因为素数7 整除637,即637=791如果现在输入n=91 到算法5.1.8 中,算法返回素数7,因为素数7 整除91,即91=713如果现在输入n=13 到算法5.1.8 中,算法返回0,因为13 是素数。把前面的过程组合起来得到1247 是素数的乘积:1274=2637=2791=2771
7、3,任何一个大于1 的整数可以写成素数乘积的形式。此外,如果这些素数按非递减顺序写出,这种分解是惟一的。用符号表示,如果 n=p1p2pi 其中pk 是素数,p1 p2 pi,且 n=p1 ppj 其中pk 是素数,p1 p2 pj,那么 i=j,并且 pk=pk对所有的k=1,.,i,定理5.1.12 素数的个数是无限的。,证明 只要能够证明如果p 是素数,存在一个比p 大的素数就够了。为此,令 p1,p2,.,pn 代表所有比p 小或等于p 的不同素数。考虑整数 m=p1 p2pn+1 注意到m被pi 除时,余数是1:m=piq+1,q=p1 p2pi-1 pi+1pn 因此,对所有的i=
8、1 到n,pi 不能整除m。令p 表示m 的一个素数因子(m 自身可以是也可以不是素数),那么p 不等于任何一个pi,i=1,2,.,n。由于p1,p2,.,pn 是所有比p 小或相等的素数,那么必须有p p。证明完成。,如何生成一个比11 大的素数。先列出所有小于或等于11 的素数 2,3,5,7,11 令 m=235711+1=2311 利用算法5.1.8,发现2311 是素数。现在已经找到了一个素数,就是2311。,最大公因子,两个整数m和n(不全为0)的最大公因子(greatest common divisor)是所有能够整除m 和n的最大正整数。例如,4 和6 的最大公因子是2,3
9、和8 的最大公因子是1。当检查分数m/n(其中m和n 是整数时)是否是最简的时,会用到最大公因子的概念。如果m和n 的最大公因子是1,m/n 是最简表示;否则,可以约减m/n。例如,4/6 不是最简表示,因为4 和6 的最大公因子是2,不是1。3/8 是最简表示,因为3 和8 的最大公因子是1。,令m和n 是整数,两者不同时为0。m 和n 的公因子是能够整除m和n 的整数。最大公因子记做 gcd(m,n)是m 和n 的最大的公因子。,30 的正因子是 1,2,3,5,6,10,15,30105 的正因子是 1,3,5,7,15,21,35,105所以30 和105 的正公因子是 1,3,5,1
10、5立刻可以得出30 和105 的公因子gcd(30,105)是15。,通过仔细观察30 和105 的素数因子来寻找它们的最大公因子:30=235 105=357,定理5.1.17,定义5.1.19 例5.1.20,令m 和n 是正整数。m 和n 的一个公倍数是一个可以同时被m 和n 整除的整数。最小公倍数,记做 lcm(m,n)是m 和n 的最小的正的公倍数30 和105 的最小公倍数lcm(30,105)是210,因为210 可以同时被30 和105 整除,并且经过试验,没有比210 小的整数可以同时被30 和105 整除。,可以通过观察30 和105 的素数因子,找到它们的最小公倍数 30
11、=235 105=357lcm(30,105)的素数因子必须包含2、3 和5 作为因子(使得30 能整除lcm(30,105))。同样,必须包含3、5 和7(使得105 能整除lcm(30,105))。具有这个性质的最小数是 2357=210因此,lcm(30,105)=210。,对任意正整数m 和n,gcd(m,n)lcm(m,n)=mn证明 如果m=1,那么gcd(m,n)=1 且lcm(m,n)=n,因此 gcd(m,n)lcm(m,n)=1n=mn同样,如果n=1,那么gcd(m,n)=1 且lcm(m,n)=m,因此 gcd(m,n)lcm(m,n)=1m=mn假设m 1,n 1,将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 离散数学 newcha
链接地址:https://www.31ppt.com/p-6595608.html