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