1.3 算法案例.ppt
《1.3 算法案例.ppt》由会员分享,可在线阅读,更多相关《1.3 算法案例.ppt(24页珍藏版)》请在三一办公上搜索。
1、1.3 算法案例,冷水江市第一中学 杨玉林,最大公约数的求法,1.回顾算法的三种表述:,自然语言,程序框图,程序语言,(三种逻辑结构),(五种基本语句),2.,小学学过的求两个数最大公约数的方法?,先用两个公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来.,思考,(1)求两个正整数的最大公约数,例.求30和75的最大公约数,所以,25和35的最大公约数为5,(2)除了用这种方法外还有没有其它方法?,如何简洁的求8256和6105的最大公约数?,30,3,10,75,25,5,2,5,开始,i=m,输入:m,n,m MOD i0或 n MOD i0?,i=i-1,输出
2、:i,结束,N,Y,mn?,t=m,m=n,n=t,N,Y,穷举法(也叫枚举法)步骤:从两个数中较小数开始由大到小列举,直到找到公约数立即中断列举,得到的公约数便是最大公约数。,A.穷举法,Input“m,n=“;m,nIf mn then Swap m,nend if i=mWhile m mod io or n mod i0 i=i-1wendPrint iend,B.辗转相除法(欧几里得算法),下面我们介绍用辗转相除法求8251和6105的最大公约数的过程,第一步:用两数中较大的数除以较小的数,求得商和余数,结论:8251和6105的公约数就是6105和2146的公约数,求8251和61
3、05的最大公约数,只要求出6105和2146的公约数就可以了。,第二步:对6105和2146重复第一步的做法,8251=61051+2146,6105=21462+1813,同理6105和2146的最大公约数也是2146和1813的最大公约数。,完整的过程,8251=61051+2146,6105=21462+1813,2146=18131+333,1813=3335+148,333=1482+37,148=374+0,例2 用辗转相除法求225和135的最大公约数,225=1351+90,135=901+45,90=452,显然37是148和37的最大公约数,也就是8251和6105的最大公
4、约数,显然45是90和45的最大公约数,也就是225和135的最大公约数,思考1:从上面的两个例子可以看出计算的规律是什么?,S1:用大数除以小数,S2:除数变成被除数,余数变成除数,S3:重复S1,直到余数为0,辗转相除法是一个反复执行直到余数等于0停止的步骤,这实际上是一个循环结构。,m=n q r,用程序框图表示出右边的过程,r=m MOD n,m=n,n=r,r=0?,是,否,思考2:辗转相除法中的关键步骤是哪种逻辑结构?,辗转相除法(欧几里得算法),(1)算理:所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数。若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1.3 算法案例 算法 案例

链接地址:https://www.31ppt.com/p-2312973.html