6)算法案例3.ppt
《6)算法案例3.ppt》由会员分享,可在线阅读,更多相关《6)算法案例3.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、算法案例 算 法 案 例 辗转相除法和更相减损术辗转相除法和更相减损术 1、求两个正整数的最大公约数、求两个正整数的最大公约数(1)求)求18和和30的最大公约数的最大公约数18和和30的最大公约数为的最大公约数为6 记记:(18 ,30 )=6求公因数的方法求公因数的方法:先用两个数公有的质因数连续去除先用两个数公有的质因数连续去除,一直除到所得的一直除到所得的商是互质数为止商是互质数为止,然后把所有的除数连乘起来然后把所有的除数连乘起来.2、求求8251和和6105的最大公约数的最大公约数 (8251 ,6105 )=?辗转相除法(欧几里得算法)辗转相除法(欧几里得算法)观察用辗转相除法求
2、观察用辗转相除法求8251和和6105的最大公约数的过程的最大公约数的过程 第一步第一步 用两数中较大的数除以较小的数,求得商和余数用两数中较大的数除以较小的数,求得商和余数8251=61051+2146结论:结论:8251和和6105的公约数就是的公约数就是6105和和2146的公约数,求的公约数,求8251和和6105的最大公约数,只要求出的最大公约数,只要求出6105和和2146的公约数就可以了。的公约数就可以了。(8251 ,6105)=(6105 ,2146)第二步第二步 对对6105和和2146重复第一步的做法重复第一步的做法6105=21462 +1813同理同理6105和和21
3、46的最大公约数也是的最大公约数也是2146和和1813的最大公约数。的最大公约数。(8251 ,6105)=(6105 ,2146)=(2146 ,1813)完整的过程完整的过程333=1482+37148=374+08251=61051+2146 6105=21462+1813 2146=18131+3331813=3335+148显然显然37是是148和和37的最大的最大公约数,也就是公约数,也就是8251和和6105的最大公约数的最大公约数 例例2 用辗转相除法求用辗转相除法求225和和135的最大公约数的最大公约数思考思考1:从上面的两个例子可以概括出:从上面的两个例子可以概括出 计
4、算的规则?计算的规则?S1:用大数除以小数:用大数除以小数S3:重复:重复S1,直到余数为,直到余数为0S2:除数除数变成变成被除数被除数,余数余数变成变成除数除数225=1351+90135=901+4590=452+0显然显然45是是90和和45的最大公约数,也就是的最大公约数,也就是225和和135的最大公约数的最大公约数 辗转相除法是一个反复执行直到余数等于辗转相除法是一个反复执行直到余数等于0停止的步骤,这实际上是停止的步骤,这实际上是一个循环结构。一个循环结构。m=n q r用程序框图表示出右边的过程用程序框图表示出右边的过程否r=m MOD nm=nn=rr=0?是S1:用大数除
5、以小数:用大数除以小数S3:重复:重复S1,直到余数为,直到余数为0S2:除数除数变成变成被除数被除数,余数余数变成变成除数除数辗转相除法的程序框图辗转相除法的程序框图开始开始输入输入m,nr=m MOD nm=nn=rr=0?输出输出m结束结束是是否否INPUT“输入m,n”;m,nDO r=m MOD n m=n n=rLOOP UNTIL r=0PRINT“最大公约数是:”;mEND 九章算术九章算术更相减损术更相减损术 算理:算理:可半者半之,不可半者,副置分母、子之数,以少减可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之。多,更相减损,求其等也,以等
6、数约之。第一步:第一步:任意给定两个正整数;判断他们是否都是偶数。若任意给定两个正整数;判断他们是否都是偶数。若是,则用是,则用2约简;若不是则执行第二步。约简;若不是则执行第二步。第二步:第二步:以较大的数减较小的数,接着把所得的差与较小的以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等为止,则这个等数就是所求的最大公约数。和差相等为止,则这个等数就是所求的最大公约数。例例3 用更相减损术求用更相减损术求98与与63的最大公约数的最大公约数解:由于解:由于63不是偶数,把不是偶数,把9
7、8和和63以大数减小数,并辗转相减以大数减小数,并辗转相减 9863356335283528728721217141477所以,所以,98和和63的最大公约数等于的最大公约数等于7 练习练习2 2:用更相减损术求两个正数:用更相减损术求两个正数8484与与7272的最大的最大公约数。公约数。(12)(12)3.3.辗转相除法与更相减损术的比较辗转相除法与更相减损术的比较:(1 1)都是求最大公约数的方法,计算上辗)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主转相除法以除法为主,更相减损术以减法为主;计算次数上辗转相除法计算次数相对较少,特计算次数上辗转相除法计算次数
8、相对较少,特别当两个数字大小区别较大时计算次数的区别别当两个数字大小区别较大时计算次数的区别较明显。较明显。(2 2)从结果体现形式来看,辗转相除法体)从结果体现形式来看,辗转相除法体现结果是以相除余数为现结果是以相除余数为0 0则得到,而更相减损术则得到,而更相减损术则以减数与差相等而得到则以减数与差相等而得到.计算多项式计算多项式()()=当当x=5的值的值算法算法1:因为()因为()=所以(所以(5)=55555=3125625125255=3906算法算法2:(5)=5555510次的乘法运算次的乘法运算,5次的加法运算次的加法运算4次的乘法运算次的乘法运算,5次的加法运算次的加法运算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教育 专题 算法 案例
限制150内