1、1-3-1辗转相除法与更相减损术、秦九韶算法 自主预习阅读教材P3439,回答下列问题:1辗转相除法与更相减损术(1)辗转相除法算法步骤:第一步,给定两个正整数m,n.第二步,计算m除以n所得的余数r.第三步,mn,nr.第四步,若r0,则m,n的最大公约数等于m;否则返回 第二步程序框图如图所示程序:INPUTm,nDOrmMODnmnnrLOOP UNTIL r0PRINT mEND(2)更相减损术算法步骤:第一步,任意给定两个正整数,判断它们是否都是偶数若是,用2约简;若不是,执行第二步第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数继续这个操作,直到所得的差
2、与减数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数2秦九韶算法(1)概念:求多项式f(x)anxnan1xn1a1xa0的值时,常用秦九韶算法,这种算法的运算次数较少,是多项式求值比较先进的算法,其实质是转化为求n个一次多项式的值,共进行n次乘法运算和n次加法运算其过程是:改写多项式为:f(x)anxnan1xn1a1xa0(anxn1an1xn2a1)xa0(anxn2an1xn3a2)xa1)xa0(anxan1)xan2)xa1)xa0.设v1anxan1,v2v1xan2,v3v2xan3,vnvn1xa0.(2)算法步骤:第一步,输入多项式的次数n、最高次项的系数an和x的值第二步,将v的值初始化为an,将i的值初始化为n1.第三步,输入i次项的系数ai.第四步,vvxai,ii1.第五步,判断i是否大于或等于0.若是,则返回第三步;否则,输出多项式的值v.(3)程序框图如图所示(4)程序:INPUT“n”;nINPUT“an”;aINPUT“x”;xvain1WHILEi0PRINT“i”;iINPUT“ai”;avv*xaii1WENDPRINT vEND