- 7
- 0
- 约5.07千字
- 约 29页
- 2025-04-28 发布于江西
- 举报
1.3算法案例1/29
第1课时辗转相除法与更相减损术、秦九韶算法2/29
3/29
一、辗转相除法【问题思索】1.在小课时,我们利用找条约数方法来求两个正整数最大条约数.你能利用这种方法求出36与60最大条约数是多少吗?提醒首先用两个数公有质因数连续去除,一直除到所得商是互质数为止,然后把全部除数连乘起来即为最大条约数.因为4/29
2.假如两个正整数条约数比较大,而且依据我们观察又不能一下子得到它们条约数,我们又该怎样求出它们最大条约数?比如,怎样求出8251与6105最大条约数?观察等式8251=6105×1+2146,你发觉8251与6105这两个数条约数和6105与2146条约数有什么关系?提醒8251最大约数是2146约数,一样6105与2146条约数也是8251约数,故8251与6105最大条约数也是6105与2146最大条约数.5/29
3.又6105=2146×2+1813,同理,6105与2146条约数和2146与1813条约数相等.重复上述操作,你能得到8251与6105这两个数最大条约数吗?提醒8251=6105×1+2146,6105=2146×2+1813,2146=1813×1+333,1813=333×5+148,333=148×2+37,148=37×4+0.最终除数37是148和37最大条约数,也是8251与6105最大条约数.6/29
4.填空:上述这种求两个正整数最大条约数方法就是辗转相除法,又叫欧几里得算法,是一个求两个正整数最大条约数古老而有效算法.其算法步骤以下:第一步,给定两个正整数m,n.第二步,计算m除以n所得余数r.第三步,m=n,n=r.第四步,若r=0,则m,n最大条约数等于m;不然,返回第二步.5.做一做1:求667与928最大条约数.解:928=667×1+261,667=261×2+145,261=145×1+116,145=116×1+29,116=29×4,所以667与928最大条约数是29.7/29
二、更相减损术【问题思索】1.设两个不都是偶数正整数m,n(mn),若m-n=k,则m与n最大条约数和n与k最大条约数相等,重复利用这个原理,可求得98与63最大条约数是多少?提醒98-63=35,63-35=28,35-28=7,28-7=21,21-7=14,14-7=7,∴98与63最大条约数为7.8/29
2.填空:上述求两个正整数最大条约数方法称为更相减损术.其算法步骤以下:第一步,任意给定两个正整数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.第二步,以较大数减去较小数,接着把所得差与较小数比较,并以大数减小数.继续这个操作,直到所得差与减数相等为止,则这个数(等数)或这个数与约简数乘积就是所求最大条约数.3.做一做2:342与589最大条约数为.?解析:589-342=247,342-247=95,247-95=152,152-95=57,95-57=38,57-38=19,38-19=19.所以342与589最大条约数为19.答案:199/29
三、秦九韶算法【问题思索】1.已知多项式函数f(x)=x5+x4+x3+x2+x+1,当x=5时f(5)=55+54+53+52+5+1=3906.这种计算求值过程中乘法运算和加法运算次数分别是多少?提醒乘法运算10次,加法运算5次.2.假如我们把上述多项式函数解析式变形为f(x)=((((x+1)x+1)x+1)x+1)x+1,计算当x=5时f(5)值,再统计一下这种计算求值过程中乘法运算和加法运算次数分别是多少.提醒乘法运算4次,加法运算5次.10/29
3.填空:问题2中算法比问题1中算法少了6次乘法运算,大大简化了运算过程.问题2中算法就叫秦九韶算法.普通地,f(x)=anxn+an-1xn-1+an-2xn-2+…+a1x+a0=(anxn-1+an-1xn-2+an-2xn-3+…+a1)x+a0=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0=…=(…((anx+an-1)x+an-2)x+…+a1)x+a0.求多项式值时,首先计算最内层括号内一次多项式值,即v1=anx+an-1,然后由内向外逐层计算一次多项式值,即v2=v1x+an-2,v3=v2x+an-3,…,vn=vn-1x+a0,这么,求n次多项式f(x)值就转化为求n个一次多项式值.11/29
4.做一做3:用秦九韶算法求f(x)=2x3+x-3,当x=3时值v2=.?解析:f(x)=((2x+0)x+1)x-3,v0=2;v1=2×3+0=6;v2=6×3+1=19
原创力文档

文档评论(0)