4 算法案例 1
理解辗转相除法与秦九韶算法的含义,了解其执行过程
掌握用算法解决实际问题
辗转相除法所谓辗转相除法,就是对于给定的两个正整数,用较大数除以较小数W
若余数不为零,则将余数和较小数构成新的一对数,继续上面的除法,直到大数被小数除尽,则这时较小数就是原来两个数的最大公约数
伪代码如下:INPUT a,bDO r=a MOD b a=b b=rLOOP UNTIL r=0PRINT aEND2
秦九韶算法秦九韶算法其实质是通过一次式的反复计算,逐步得出高次多项式的值,对于一个 n 次多项式,最多只需做 n 次乘法和 n 次加法即可
伪代码如下:INPUT “n=”;nINPUT “an=”;aINPUT “x=”;xv=ak=n-1WHILE k>=0 PRINT “k=”;k INPUT “ak=”;a v=v*x+a k=k-1WENDPRINT vEND1
(对的打“√”,错的打“×”)(1)求两个正整数的最大公约数可以用辗转相除法
( )(2)利用秦九韶算法计算时,乘法运算与加法运算次数相等
( )答案:(1)√ (2)×2
用秦九韶算法计算多项式 f(x)=3x6+4x5+5x4+6x3+7x2+8x+1 当 x=0
4 时的值时,需要做乘法和加法的次数分别是( )A
6,5答案:A3
“辗转相除法”与“更相减损术”有何区别
解:辗转相除法的操作过程是先用两个数中较大的数除以较小的数,得商和余数;再用除数除以余数,重复操作,直到出现余数为零,则这个最小除数就是两个数的最大公约数;而更相减损术是用较大数减去较小数,再把差与较小数作为一对相减直至差相等为止,则这个等数就是所求的最大公约数
辗转相除法[学生用书 P22] 利用辗转相除法求 46,115 和 276 的最大公约数
【解】 求三个数的最大