公开课算法案例-辗转相除法与更相减损术课件(人.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《公开课算法案例-辗转相除法与更相减损术课件(人.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 公开 算法 案例 辗转 除法 减损 课件
- 资源描述:
-
1、1.3 1.3 算法案例算法案例 第一课时第一课时 我们是如何求两个正数的最大公约数的?我们是如何求两个正数的最大公约数的?如:求下面两个正整数的最大公约数:如:求下面两个正整数的最大公约数:(1)求)求25和和35的最大公约数的最大公约数(2)求)求2520和和1470的最大公约数的最大公约数25(1)55357(2)147010 147 2520252所以,所以,25和和35的最的最大公约数为大公约数为5 所以,所以,2520和和1470的最大公约数为的最大公约数为210解:解:736 217123如何算出如何算出8251和和6105的最大公约数?的最大公约数?(欧几里德算法)(欧几里德算
2、法)思考思考1:对于对于82518251与与61056105这两个数,由于这两个数,由于 8251=8251=610561051+1+21462146 82518251与与61056105的公约数就是的公约数就是61056105与与 21462146的公约数。的公约数。?那么那么,8251,8251与与61056105这两个数的公约数和这两个数的公约数和 61056105与与21462146的公约数有什么关系?的公约数有什么关系?思考思考2:重复上述操作,如何得到重复上述操作,如何得到82518251与与 61056105这两个数的最大公约数?这两个数的最大公约数?完整的过程完整的过程8251
3、=61051+2146 6105=21462+1813 2146=18131+3331813=3335+148333=1482+37148=374+0例:例:用辗转相除法求用辗转相除法求225和和135的最大公约数的最大公约数225=1351+90135=901+4590=452+0显然显然37是是148和和37的最大公约数,的最大公约数,也就是也就是8251和和6105的最大公约的最大公约数数 显然显然45是是90和和45的最大公约数,也就是的最大公约数,也就是225和和135的最大公约数的最大公约数 S1S1:用大数除以小数:用大数除以小数S2S2:除数变成被除数,余数变成除数:除数变成被
4、除数,余数变成除数S3S3:重复:重复S1S1,直到余数为,直到余数为0 0从上面的两个例子中可以看出从上面的两个例子中可以看出 计算的规律是什么?计算的规律是什么?辗转相除法是一个反复执行直辗转相除法是一个反复执行直到余数等于到余数等于0停止的步骤,这实际上停止的步骤,这实际上是一个循环结构。是一个循环结构。8251=61051+2146 6105=21462+1813 2146=18131+333 1813=3335+148333=1482+37148=374+0m=n q r思考思考3:辗转相除法中的关键步骤是哪种逻辑结构?辗转相除法中的关键步骤是哪种逻辑结构?其算法步骤如何设计?其算法
5、步骤如何设计?第一步:给定两个正整数第一步:给定两个正整数m m,n(mn(mn)n)。第二步:计算第二步:计算m m除以除以n n所得的余数所得的余数r r。第三步:第三步:m=nm=n,n=rn=r。第四步:判断第四步:判断“r=0”r=0”是否成立,是否成立,若若r=0r=0,则,则m m,n n的最大公约的最大公约数等于数等于m m;否则,返回第二步。;否则,返回第二步。8251=61051+2146 6105=21462+1813 2146=18131+333 1813=3335+148333=1482+37148=374+0m=n q r思考思考3:辗转相除法中的关键步骤是哪种逻辑
6、结构?辗转相除法中的关键步骤是哪种逻辑结构?其算法步骤如何设计?其算法步骤如何设计?用程序框图表示出右边的过程用程序框图表示出右边的过程r=m MOD nm=nn=r是否r=0?思考思考5:如果用当型循环结构构造算法,如果用当型循环结构构造算法,则用辗转相除法求两个正整数则用辗转相除法求两个正整数m m、n n的的最大公约数的程序框图和程序分别如最大公约数的程序框图和程序分别如何表示?何表示?是是开始开始求求m除以除以n的余数的余数rm=n否否输出输出m结束结束n=rr0?输入输入m,nr=1练习练习1 1:利用辗转相除法求两数:利用辗转相除法求两数40814081与与 2072320723的
7、最大公约数的最大公约数.(53)(53)20723=40815+3184081=31812+265318=2651+53265=535+0练习练习2:求求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.故故325325,130130,270270的最大公约数是的最大公
8、约数是5.5.可半者半之,不可半者,副置分母、子之可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数数,以少减多,更相减损,求其等也,以等数约之。约之。九章算术九章算术中的更相减损术:中的更相减损术:背景介绍:背景介绍:任意给定两个正整数;判断他们是否都是偶数。任意给定两个正整数;判断他们是否都是偶数。若是,则用若是,则用2约简;若不是,则以较大的数减较小约简;若不是,则以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等减小数。继续这个操作,直到所得的减数和差相等为止,则
9、这个等数就是所求的最大公约数。为止,则这个等数就是所求的最大公约数。现代数学中的更相减损术:现代数学中的更相减损术:例例:用更相减损术求用更相减损术求9898与与6363的最大公约数的最大公约数.解:由于解:由于6363不是偶数,把不是偶数,把9898和和6363以大数减小数,以大数减小数,并辗转相减并辗转相减 所以,所以,9898和和6363的最大公约数等于的最大公约数等于7 7 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,98-63=3598-63=
10、3514-7=714-7=721-7=1421-7=1428-7=2128-7=2135-28=735-28=763-35=2863-35=28思考思考6:用什么逻辑结构来构造算法?其算法步用什么逻辑结构来构造算法?其算法步 骤如何设计?骤如何设计?程序框图如何表示?程序框图如何表示?m n k第一步,给定两个正整数第一步,给定两个正整数m m,n(mn(mn).n).第二步,计算第二步,计算m-nm-n所得的差所得的差k.k.第三步,比较第三步,比较n n与与k k的大小,其中大的大小,其中大 者用者用m m表示,小者用表示,小者用n n表示表示.第四步,若第四步,若m=nm=n,则,则m
11、m,n n的最大公约的最大公约 数等于数等于m m;否则,返回第二步;否则,返回第二步.理论迁移理论迁移 例例1.1.分别用辗转相除法和更相减损分别用辗转相除法和更相减损 术求术求168168与与9393的最大公约数的最大公约数.辗转相除法:辗转相除法:168=93168=931+75 1+75 93=75 93=751+181+18 75=18 75=184+3 4+3 18=3 18=36+06+0更相减损术更相减损术:168-93=75 168-93=75,18-3=1518-3=15,93-75=1893-75=18,15-3=1215-3=12,75-18=5775-18=57,12
12、-3=912-3=9,57-18=3957-18=39,9-3=69-3=6,39-18=2139-18=21,6-3=36-3=3。21-18=321-18=3,比较辗转相除法与更相减损术的区别比较辗转相除法与更相减损术的区别(1 1)都是求最大公约数的方法,计算上辗转相除)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。大小区别较大时计算次数的区别较明显。(2 2)从结果体现形式来看,辗转相
展开阅读全文