算法案例1辗转相除法与相减损术.ppt
《算法案例1辗转相除法与相减损术.ppt》由会员分享,可在线阅读,更多相关《算法案例1辗转相除法与相减损术.ppt(18页珍藏版)》请在第壹文秘上搜索。
1、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:181:18与与3030的最大公约数是多少?你是怎样得的最大公约数是多少?你是怎样得到的?到的?先用两个数公有的质因数连续去除,一直除到所先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数
2、连乘起来即得的商是互质数为止,然后把所有的除数连乘起来即为最大公约数为最大公约数.思考思考2:2:对于对于82518251与与61056105这两个数,它们这两个数,它们的最大的最大公约数是多少?你是怎样得到的?公约数是多少?你是怎样得到的?由于它们公有的质因数较大,利用上述方法求由于它们公有的质因数较大,利用上述方法求最大公约数就比较困难最大公约数就比较困难.有没有其它的方法可以较简有没有其它的方法可以较简单的找出它们的最大公约数呢?单的找出它们的最大公约数呢?思考思考3 3:注意到:注意到8251=61058251=61051+21461+2146,那么,那么82518251与与61056
3、105这两个数的公约数和这两个数的公约数和61056105与与21462146的公约数有的公约数有什么关系?什么关系?我们发现我们发现6105=21466105=21462+18132+1813,同理,同理,61056105与与21462146的公约数和的公约数和21462146与与18131813的公约数相等的公约数相等.思考思考4 4:重复上述操作,你能得到:重复上述操作,你能得到82518251与与61056105这这两个数的最大公约数吗?两个数的最大公约数吗?2146=18132146=18131+3331+333,148=37148=374+0.4+0.333=148333=1482
4、+372+37,1813=3331813=3335+1485+148,8251=61058251=61051+21461+2146,6105=21466105=21462+18132+1813,上述求两个正整数的最大公约数的方法称为上述求两个正整数的最大公约数的方法称为辗转相辗转相除法除法或欧几里得算法或欧几里得算法.第一步,给定两个正整数第一步,给定两个正整数m m,n(mn).n(mn).第二步,计算第二步,计算m m除以除以n n所得的余数所得的余数r.r.第三步,第三步,m=nm=n,n=r.n=r.第四步,若第四步,若r=0r=0,则,则m m,n n的最大公约数等于的最大公约数等于
5、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 r=0PRINT mPRINT mENDEND 思考思考6:6:如果用当型循环结构构造算法,则用辗如果用当型循环结构构造算法,则用辗转相除法求两个正整数转相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 案例 辗转 除法 减损
![提示](https://www.1wenmi.com/images/bang_tan.gif)