第1课时辗转相除法与更相减损术、秦九韶算法1.理解辗转相除法与更相减损术的含义,了解其执行过程.2.理解秦九韶算法的计算过程,并了解它提高计算效率的实质.1.辗转相除法与更相减损术(1)辗转相除法①辗转相除法,又叫欧几里得算法,是一种求两个正整数的最大公约数的古老而有效的算法.②辗转相除法的算法步骤第一步,给定两个正整数m,n.第二步,计算m除以n所得的余数r.第三步,m=n,n=r.第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.(2)更相减损术的算法步骤第一步,任意给定两个正整数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.(3)辗转相除法和更相减损术的区别与联系(1)秦九韶算法简介①秦九韶算法要解决的问题是求多项式的值.②秦九韶算法的特点通过一次式的反复计算,逐步得到高次多项式的值,即将一个n次多项式的求值问题归结为重复计算n个一次多项式的值的问题.③秦九韶算法的原理将f(x)=a n x n+a n-1x n-1+…+a1x+a0改写为:f(x)=(a n x n-1+a n-1x n-2+…+a1)x+a0=((a n x n-2+a n-1x n-3+…+a2)x+a1)x+a0=…先计算最内层括号内一次多项式的值,即v1=a n x+a n-1,再由内向外逐层计算一次多项式v k的值.(2)秦九韶算法的操作方法①算法步骤如下第一步,输入多项式次数n、最高次项的系数a n和x的值.第二步,将v的值初始化为a n,将i的值初始化为n-1.第三步,输入i次项的系数a i.第四步,v=vx+a i,i=i-1.第五步,判断i是否大于或等于0.若是,则返回第三步;否则,输出多项式的值v.②程序框图如图所示③程序如下INPUT “n=”;nINPUT “an=”;aINPUT “x=”;xv=ai=n-1WHILE i>=0INPUT “ai=”;av=v*x+ai=i-1WENDPRINT vEND1.实际应用更相减损术时要做的第一步工作是什么?[提示] 先判断a,b是否为偶数,若是,都除以2再进行.2.判断正误.(正确的打“√”,错误的打“×”)(1)辗转相除法的基本步骤是用较大的数除以较小的数.( )(2)求最大公约数的方法除辗转相除法之外,没有其他方法.( )(3)编写辗转相除法的程序时,要用到循环语句.( )[提示] (1)√(2)×(3)√题型一辗转相除法和更相减损术的应用【典例1】用辗转相除法求612与468的最大公约数,并用更相减损术检验所得结果.[思路导引] 将612作为大数,468作为小数,执行辗转相除法和更相减损术的步骤即可.[解] 用辗转相除法:612=468×1+144,468=144×3+36,144=36×4,即612和468的最大公约数是36.用更相减损术检验:612和468为偶数,两次用2约简得153和117,153-117=36,117-36=81,81-36=45,45-36=9,36-9=27,27-9=18,18-9=9,所以612和468的最大公约数为9×2×2=36.求最大公约数的两种方法步骤(1)利用辗转相除法求给定的两个数的最大公约数,即利用带余除法,用数对中较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的数对,再利用带余除法,直到大数被小数除尽,则这时的较小数就是原来两个数的最大公约数.(2)利用更相减损术求两个正整数的最大公约数的一般步骤是:首先判断两个正整数是否都是偶数.若是,用2约简,也可以不除以2,直接求最大公约数,这样不影响最后结果.[针对训练1] 用辗转相除法求80与36的最大公约数,并用更相减损术检验你的结果.[解] 80=36×2+8,36=8×4+4,8=4×2+0,即80与36的最大公约数是4.验证:80÷2=40,36÷2=18;40÷2=20,18÷2=9;20-9=11,11-9=2;9-2=7,7-2=5;5-2=3,3-2=1;2-1=1,1×2×2=4;所以80与36的最大公约数为4.题型二求三个正整数的最大公约数【典例2】求325,130,270三个数的最大公约数[思路导引] 求三个数的最大公约数,可先求两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数.[解] 解法一(辗转相除法):因为325=130×2+65,130=65×2,所以325和130的最大公约数为65.因为270=65×4+10,65=10×6+5,10=5×2,所以65和270的最大公约数为5,故325,130,270三个数的最大公约数为5.解法二(更相减损术):325-130=195,195-130=65,130-65=65.所以325和130的最大公约数是65.270-65=205,205-65=140,140-65=75,75-65=10,65-10=55,55-10=45,45-10=35,35-10=25,25-10=15,15-10=5,10-5=5.所以65和270的最大公约数为5,故325,130,270三个数的最大公约数为5.理解辗转相除法的实质,从计算结果上看,辗转相除法是以相除余数为零而得到结果的.[针对训练2] 求三个数175,100,75的最大公约数.[解] 先求175与100的最大公约数:175=100×1+75,100=75×1+25,75=25×3,∴175与100的最大公约数是25.再求25与75的最大公约数:75-25=50,50-25=25,∴75和25的最大公约数是25.∴175,100,75的最大公约数是25.题型三秦九韶算法【典例3】已知一个5次多项式为f(x)=4x5+2x4+3.5x3-2.6x2+1.7x-0.8,用秦九韶算法求这个多项式当x=5时的值.[思路导引] 可根据秦九韶算法的原理,将所给的多项式改写,然后由内到外逐次计算.[解] 将f(x)改写为f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-0.8,由内向外依次计算一次多项式,当x=5时的值:v0=4;v 1=4×5+2=22; v 2=22×5+3.5=113.5; v 3=113.5×5-2.6=564.9; v 4=564.9×5+1.7=2826.2; v 5=2826.2×5-0.8=14130.2.所以当x =5时,多项式的值等于14130.2.(1)用秦九韶算法求多项式f (x )当x =x 0的值的思路为: ①改写.②计算⎩⎪⎨⎪⎧v 0=a n ,v k =v k -1x 0+a n -k (k =1,2,…,n ).③结论f (x 0)=v n .(2)应用秦九韶算法计算多项式的值应注意的3个问题 ①要正确将多项式的形式进行改写. ②计算应由内向外依次计算.③当多项式函数中间出现空项时,要以系数为零的齐次项补充.[针对训练3] 用秦九韶算法计算多项式f (x )=12+35x -8x 2+6x 4+5x 5+3x 6在x =-4时的值时,v 3的值为( )A .-144B .-136C .-57D .34[解析] 根据秦九韶算法多项式可化为f (x )=(((((3x +5)x +6)x +0)x -8)x +35)x +12.由内向外计算v 0=3;v 1=3×(-4)+5=-7; v 2=-7×(-4)+6=34; v 3=34×(-4)+0=-136.[答案] B课堂归纳小结1.求两个正整数的最大公约数的问题,可以用辗转相除法,也可以用更相减损术.用辗转相除法,即根据a=nb+r这个式子,反复相除,直到r=0为止;用更相减损术,即根据r=|a-b|这个式子,反复相减,直到r=0为止.2.秦九韶算法的关键在于把n次多项式转化为一次多项式,注意体会递推的实现过程,实施运算时要由内向外,一步一步执行.1.辗转相除法可解决的问题是( )A.求两个正整数的最大公约数B.多项式求值C.求两个正整数的最小公倍数D.排序问题[解析] 辗转相除法可以求两个正整数的最大公约数.[答案] A2.用辗转相除法求72与120的最大公约数时,需要做除法次数为( )A.4 B.3C.5 D.6[解析] 120=72×1+48,72=48×1+24,48=24×2.[答案] B3.用更相减损术求36与134的最大公约数,第一步应为________.[解析] ∵36与134都是偶数,∴第一步应先除以2,得到18与67.[答案] 先分别除以2,得到18与674.用秦九韶算法求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.[答案] 195.用秦九韶算法求多项式f(x)=8x7+5x6+3x4+2x+1,当x=2时的值.[解] 根据秦九韶算法,把多项式改写成如下形式:f(x)=8x7+5x6+0·x5+3·x4+0·x3+0·x2+2x+1=((((((8x+5)x+0)x+3)x+0)x+0)x+2)x+1.而x=2,所以有v0=8,v1=8×2+5=21,v2=21×2+0=42,v3=42×2+3=87,v4=87×2+0=174,v5=174×2+0=348,v6=348×2+2=698,v7=698×2+1=1397.所以当x=2时,多项式的值为1397.算法案例在实际生活中的应用通过算法案例的学习,知道算法的核心是一般意义上的解决问题的策略的具体化.对于一个实际问题,我们在分析、思考后可将之转化为数学问题,从而获得解决它的基本思路.【典例】现有长度为2.4 m和5.6 m两种规格的钢筋若干,要焊接一批棱上无接点的正方体模型,问怎样设计才能保证正方体的体积最大且不浪费材料?[思路导引] 要焊接正方体,就是将两种规格的钢筋截成长度相等的钢筋条.为了保证不浪费材料,应使得每种规格的钢筋截取后没有剩余,因此截取的长度应为2.4与5.6的公约数;为使得正方体的体积最大,因此截取的长度应为2.4与5.6的最大公约数.[解] 用更相减损术来求2.4与5.6的最大公约数:5.6-2.4=3.2,3.2-2.4=0.8,2.4-0.8=1.6,1.6-0.8=0.8,因此2.4与5.6的最大公约数为0.8.所以使得正方体的棱长为0.8 m时,正方体的体积最大且不浪费材料.[针对训练] 甲,乙,丙三种溶液的质量分别为147 g,343 g,133 g,现要将它们分别全部装入小瓶中,每个小瓶中装入溶液的质量相同,问每瓶最多装多少?[解] 由题意,每个小瓶中装入的溶液的质量应是三种溶液质量的最大公约数.先求147与343的最大公约数:343-147=196,196-147=49,147-49=98,98-49=49,所以147与343的最大公约数是49.再求49与133的最大公约数:133-49=84,84-49=35,49-35=14,35-14=21,21-14=7,14-7=7,所以147,343,133的最大公约数为7,即每瓶最多装7 g.课后作业(八)(时间45分钟)学业水平合格练(时间25分钟)1.秦九韶算法与直接计算相比较,下列说法错误的是( )A.秦九韶算法与直接计算相比,大大节省了做乘法的次数,使计算量减少,并且逻辑结构简单B.秦九韶算法减少了做乘法的次数,在计算机上也就加快了计算的速度C.秦九韶算法减少了做乘法的次数,在计算机上也就降低了计算的速度D.秦九韶算法避免了对自变量x单独做幂的计算,而且与系数一起逐次增长幂次,从而提高计算的精度[解析] 秦九韶算法减少了做乘法的次数,在计算机上也就加快了计算的速度,故选项C错误.[答案] C2.下列说法中正确的个数为( )①辗转相除法也叫欧几里得算法;②辗转相除法的基本步骤是用较大的数除以较小的数;③求最大公约数的方法,除辗转相除法之外,没有其他方法;④编写辗转相除法的程序时,要用到循环语句.A.1 B.2C.3 D.4[解析] ①、②、④正确,③错误.[答案] C3.利用秦九韶算法求f(x)=1+2x+3x2+…+6x5当x=2时的值时,下列说法正确的是( )A.先求1+2×2B.先求6×2+5,第二步求2×(6×2+5)+4C.f(2)=1+2×2+3×22+4×23+5×24+6×25直接运算求解D.以上都不对[解析] 利用秦九韶算法应先算a n x+a n-1,再算(a n x+a n-1)x+a n-2,故选B.[答案] B4.中国古代有计算多项式值的秦九韶算法,下图是实现该算法的程序框图.执行该程序框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s=( )A.7 B.12C.17 D.34[解析] 该题考查程序框图的运行及考生的识图能力.由程序框图知,第一次循环:x=2,n=2,a=2,s=0×2+2=2,k=1;第二次循环:a=2,s=2×2+2=6,k=2;第三次循环:a=5,s=6×2+5=17,k=3.结束循环,输出s的值为17,故选C.[答案] C5.用更相减损术求117和182的最大公约数时,需做减法的次数是( )A.8 B.7C.6 D.5[解析] ∵182-117=65,117-65=52,65-52=13,52-13=39,39-13=26,26-13=13,∴13是117和182的最大公约数,需做减法的次数是6.[答案] C6.用秦九韶算法求n次多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0当x=x0时的值,求f(x0)需要乘方、乘法、加法的次数分别为( )A.n(n+1)2,n,n B.n,2n,nC.0,2n,n D.0,n,n[解析] 因为f(x)=(…((a n x+a n-1)x+a n-2)x+…+a1)x+a0,所以乘方、乘法、加法的次数分别为0,n,n.[答案] D7.用秦九韶算法求多项式f(x)=12+35x-8x2+79x3+6x4+5x5+3x6当x=-4的值时,其中v1的值为________.[解析] ∵f(x)=12+35x-8x2+79x3+6x4+5x5+3x6,∴v0=a6=3,v1=v0x+a5=3×(-4)+5=-7.[答案] -78.378和90的最大公约数为________.[解析] 378=90×4+18,90=18×5+0,∴378与90的最大公约数是18.[答案] 189.求1356和2400的最小公倍数.[解] 2400=1356×1+1044,1356=1044×1+312,1044=312×3+108,312=108×2+96,108=96×1+12,96=12×8.所以1356与2400的最大公约数为12.则1356与2400的最小公倍数为(1356×2400)÷12=271200.10.用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.[解] f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)·x,所以v0=7,v1=7×3+6=27,v2=27×3+5=86,v3=86×3+4=262,v4=262×3+3=789,v5=789×3+2=2369,v6=2369×3+1=7108,v7=7108×3=21324.故x=3时,多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x的值为21324.应试能力等级练(时间20分钟)11.下列哪组的最大公约数与1855,1120的最大公约数不同( )A.1120,735 B.385,350C.385,735 D.1855,325[解析] ∵(1855,1120)→(735,1120)→(735,385)→(350,385)→(350,35),∴1855与1120的最大公约数是35,由以上计算过程可知选D.[答案] D12.用秦九韶算法计算多项式f(x)=3x6+4x5+5x4+6x3+7x2+8x+1,当x=0.4时的值时,需要做乘法和加法的次数分别是( )A.6,6 B.5,6C.5,5 D.6,5[解析] 根据秦九韶算法,把多项式改写为f(x)=(((((3x+4)x+5)x+6)x+7)x+8)x+1,∴需要做6次加法运算,6次乘法运算,故选A.[答案] A13.已知a=333,b=24,则使得a=bq+r(q,r均为自然数,且0≤r≤b)成立的q 和r的值分别为________.[解析] 用333除以24,商即为q,余数就是r.333÷24的商为13,余数是21.∴q=13,r=21.[答案] 13,2114.用秦九韶算法求多项式f(x)=1-5x-8x2+10x3+6x4+12x5+3x6当x=-4时的值时,v0,v1,v2,v3,v4中最大值与最小值的差是________.[解析] 多项式变形为f(x)=3x6+12x5+6x4+10x3-8x2-5x+1=(((((3x+12)x+6)x+10)x-8)x-5)x+1,v0=3,v1=3×(-4)+12=0,v2=0×(-4)+6=6,v3=6×(-4)+10=-14,v4=-14×(-4)-8=48,所以v4最大,v3最小,所以v4-v3=48+14=62.[答案] 6215.用辗转相除法和更相减损术两种方法求三个数72,120,168的最大公约数.[解] (辗转相除法):先求120,168的最大公约数.因为168=120×1+48,120=48×2+24,48=24×2,所以120,168的最大公约数是24.再求72,24的最大公约数.因为72=24×3,所以72,24的最大公约数为24,即72,120,168的最大公约数为24.(更相减损术):先求120,168的最大公约数.168-120=48,120-48=72,72-48=24,48-24=24,所以120,168的最大公约数为24.再求72,24的最大公约数.72-24=48,48-24=24,所以72,24的最大公约数为24,即72,120,168的最大公约数为24.。