《131辗转相除法和更相减损术.ppt》由会员分享,可在线阅读,更多相关《131辗转相除法和更相减损术.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高效课堂高效课堂一线名师一线名师名校学案名校学案联校开发联校开发 高中数学高中数学必修必修3 3 人民教育出版社人民教育出版社高效课堂1.3 1.3 算法案例算法案例高效课堂1.3.4 1.3.4 十进制化十进制化K K进制进制1.3.1 1.3.1 辗转相除法和更相减损术辗转相除法和更相减损术1.3.2 1.3.2 秦九韶算法秦九韶算法1.3.3 K1.3.3 K进制化十进制进制化十进制1.3 1.3 算法案例算法案例高效课堂1.3.1 1.3.1 辗转相除法辗转相除法和更相减损术和更相减损术高效课堂复习复习1.1.研究一个实际问题的算法,主要从哪几方面展开?研究一个实际问题的算法,主要从哪
2、几方面展开?2.2.在程序框图中算法的基本逻辑结构有哪几种?在程序框图中算法的基本逻辑结构有哪几种?3.3.在程序设计中基本的算法语句有哪几种?在程序设计中基本的算法语句有哪几种?算法步骤、程序框图和编写程序算法步骤、程序框图和编写程序三方面展开三方面展开. .顺序结构、条件结构、循环结构顺序结构、条件结构、循环结构输入语句、输出语句、赋值语句、条件语句、循环语句输入语句、输出语句、赋值语句、条件语句、循环语句高效课堂一、辗转相除法一、辗转相除法 思考思考1:181:18与与3030的最大公约数是多少?你是怎样得的最大公约数是多少?你是怎样得到的?到的? 先用两个数公有的质因数连续去除,一直除
3、到所先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来即得的商是互质数为止,然后把所有的除数连乘起来即为最大公约数为最大公约数. . 高效课堂 思考思考2:2:对于对于82518251与与61056105这两个数,它们这两个数,它们的最大的最大公约数是多少?你是怎样得到的?公约数是多少?你是怎样得到的? 由于它们公有的质因数较大,利用上述方法求由于它们公有的质因数较大,利用上述方法求最大公约数就比较困难最大公约数就比较困难. .有没有其它的方法可以较简有没有其它的方法可以较简单的找出它们的最大公约数呢?单的找出它们的最大公约数呢?高效课堂 思考思考3 3:注
4、意到:注意到8251=61058251=61051+21461+2146,那么,那么82518251与与61056105这两个数的公约数和这两个数的公约数和61056105与与21462146的公约数有的公约数有什么关系?什么关系? 我们发现我们发现6105=21466105=21462+18132+1813,同理,同理,61056105与与21462146的公约数和的公约数和21462146与与18131813的公约数相等的公约数相等. . 思考思考4 4:重复上述操作,你能得到:重复上述操作,你能得到82518251与与61056105这这两个数的最大公约数吗?两个数的最大公约数吗?214
5、6=18132146=18131+3331+333,148=37148=374+0.4+0.333=148333=1482+372+37,1813=3331813=3335+1485+148,8251=61058251=61051+21461+2146,6105=21466105=21462+18132+1813,高效课堂 上述求两个正整数的最大公约数的方法称为上述求两个正整数的最大公约数的方法称为辗转相辗转相除法除法或欧几里得算法或欧几里得算法. .第一步,给定两个正整数第一步,给定两个正整数m m,n(mn(mn).n).第二步,计算第二步,计算m m除以除以n n所得的余数所得的余数r.
6、 r. 第三步,第三步,m=nm=n,n=r.n=r. 第四步,若第四步,若r=0r=0,则,则m m,n n的最大公约数等于的最大公约数等于m m;否则,返回第二步否则,返回第二步. . 思考思考5:5:你能把辗转你能把辗转相除法编成一个计算机程序吗?相除法编成一个计算机程序吗?高效课堂程序框图程序框图开始开始输入输入m m,n n求求m m除以除以n n的余数的余数r rm=nm=nn=rn=rr=0r=0?是是输出输出m m结束结束否否INPUT mINPUT m,n nDODOr=m MOD nr=m MOD nm=nm=nn=rn=rLOOP UNTIL r=0LOOP UNTIL
7、r=0PRINT mPRINT mENDEND高效课堂 思考思考6:6:如果用当型循环结构构造算法,则用辗如果用当型循环结构构造算法,则用辗转相除法求两个正整数转相除法求两个正整数m m、n n的最大公约数的程序框的最大公约数的程序框图和程序分别如何表示?图和程序分别如何表示?高效课堂开始开始输入输入m m,n n求求m m除以除以n n的余数的余数r rm=nm=nn0n0?否否输出输出m m结束结束是是n=rn=rINPUT mINPUT m,n nWHILE n0WHILE n0r=m MOD nr=m MOD nm=nm=nn=rn=rWENDWENDPRINT mPRINT mEND
8、END高效课堂二、更相减损术二、更相减损术 九章算术九章算术是中国古代的数学专著,其中的是中国古代的数学专著,其中的“更相减损术更相减损术”也可以用来求两个数的最大公约数,也可以用来求两个数的最大公约数,即即“可半者半之,不可半者,副置分母、子之数,可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也以少减多,更相减损,求其等也.以等数约之以等数约之.”意思是:意思是: 第一步:任意给定两个正整数,判断它们是否第一步:任意给定两个正整数,判断它们是否都是偶数都是偶数. 若是,用若是,用2约简;若不是,执行第二步约简;若不是,执行第二步. 第二步:以较大的数减去较小的数,接着把差
9、第二步:以较大的数减去较小的数,接着把差与较小的数比较,并以大数减小数与较小的数比较,并以大数减小数.继续这个操作,继续这个操作,直到所得的数相等为止,则这个等数或这个数与约直到所得的数相等为止,则这个等数或这个数与约简的数的乘积就是所求的最大公约数简的数的乘积就是所求的最大公约数.高效课堂例例1 1:用更相减损术求:用更相减损术求9898与与6363的最大公约数的最大公约数. .98-63=3598-63=35,14-7=7.14-7=7.21-7=1421-7=14,28-7=2128-7=21,35-28=735-28=7,63-35=2863-35=28,因为因为63不是偶数,所以不是
10、偶数,所以所以最大公约数是所以最大公约数是7.高效课堂 例例2 2 分别用辗转相除法和更相减损术求分别用辗转相除法和更相减损术求168168与与9393的最大公约数的最大公约数. . 168=93168=931+751+75, 93=7593=751+181+18, 75=1875=184+34+3, 18=318=36.6.辗转相除法:辗转相除法:高效课堂更相减损术更相减损术: : 168-93=75 168-93=75, 93-75=1893-75=18, 75-18=5775-18=57, 57-18=3957-18=39, 39-18=2139-18=21, 21-18=321-18=
11、3, 18-3=1518-3=15, 15-3=1215-3=12, 12-3=912-3=9, 9-3=69-3=6, 6-3=3.6-3=3.高效课堂 例例3 3 求求325325,130130,270270三个数的最大公约数三个数的最大公约数. . 因为因为325=130325=1302+652+65,130=65130=652 2,所以,所以325325与与130130的最大公约数是的最大公约数是65.65. 因为因为270=65270=654+104+10,65=1065=106+56+5,10=510=52 2,所以所以6565与与270270最大公约数是最大公约数是5. 5. 故
12、故325325,130130,270270三个数的最大公约数是三个数的最大公约数是5.5.高效课堂 练习练习: :用更相减损术求两个正整数用更相减损术求两个正整数m m,n n的最大公的最大公约数,可以用什么逻辑结构来构造算法?其算法步骤约数,可以用什么逻辑结构来构造算法?其算法步骤如何设计?如何设计? 第一步,给定两个正整数第一步,给定两个正整数m m,n(mn(mn).n). 第二步,计算第二步,计算m-nm-n所得的差所得的差k. k. 第三步,比较第三步,比较n n与与k k的大小,其中大者用的大小,其中大者用m m表示,表示,小者用小者用n n表示表示. . 第四步,若第四步,若m=
13、nm=n,则,则m m,n n的最大公约数等于的最大公约数等于m m;否则,返回第二步否则,返回第二步. . 讨论讨论: :该算法的程序框图如何表示?该算法的程序框图如何表示?高效课堂开始开始输入输入m m,n nnknk?m=nm=n是是输出输出m m结束结束mnmn?k=k=m-nm-n是是否否n=kn=km=km=k否否 讨论讨论: :该程该程序框图对应的程序框图对应的程序如何表述?序如何表述?高效课堂INPUT mINPUT m,n nWHILE WHILE m mn nk=k=m-nm-nIF nk THENIF nk THENm=nm=nn=kn=kELSEELSEm=km=kEND IFEND IFWENDWENDPRINT mPRINT mENDEND开始开始输入输入m m,n nnknk?m=nm=n是是输出输出m m结束结束mnmn?k=k=m-nm-n是是否否n=kn=km=km=k否否高效课堂 1 1、辗转相除法、辗转相除法. . 小结小结 2 2、更相减损术、更相减损术. .高效课堂布置作业:布置作业:P45P45练习:练习:1.1.P48P48习题习题1.3A1.3A组:组:1.1.高效课堂高效课堂一线名师一线名师名校学案名校学案联校开发联校开发 高中数学高中数学必修必修3 3 人民教育出版社人民教育出版社
限制150内