算法案例一、辗转相除法(欧几里得算法)(1)算法步骤第一步,给定两个正整数m,n.第二步,计算m除以n所得的余数r.第三步,.第四步,若,则m,n的最大公约数等于m;否则,返回第二步。(2)程序语句INPUT m,nDO r=m MOD n m=nn=rLOOP UNTIL r=0PRINT mEND2.更相减损术步骤:第一步,任意给定两个正整数,判断它们是否都是偶数,若是,用2约简;若不是,执行第二步。第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数。二、秦九韶算法 秦九韶算法是关于求高次多项式的函数值的一个算法,其过程如下:把一个n次多项式改写成如下形式:求多项式的值时,首先计算最内层括号内一次多项式的值,即然后由内向外逐层计算一次多项式的值,即;;这样,求n次多项式的值就转化为求n个一次多项式的值,上述方法称为秦九韶算法。(1)算法步骤第一步,输入多项式次数n、最高次项的系数和x的值。第二步的值初始化为,将i的值初始化为n-1.第三步,输入i次项的系数.第四步:第五步,判断i是否大于或等于0.若是,则返回第三步;否则输出多项式的值v.(2)程序语句INPUT “n=”;nINPUT “an=”;aINPUT “x=”;xv=ai=n-1WHILE i>=0 PRINT “i=”;i INPUT “ai=”;a v=v*x+a i=i-1WENDPRINT vEND
无