第89讲四种算法案例【知识要点】算法案例有辗转相除法、更相减损术、秦九韶算法和进位制
一、辗转相除法辗转相除法求两个数的最大公约数,其算法可以描述如下:①输入两个正整数和;②求余数:计算除以,将所得余数存放到变量中;③更新被除数和余数:=,=;④判断余数是否为0
若余数为0,则输出结果;否则转向第②步继续循环执行如此循环,直到得到结果为止
例:利用辗转相除法求6105与2146的最大公约数6105=2146×2+18132146=1813×1+3331813=333×5+148333=148×2+37148=37×4+0最后的除数37是6105与2146的最大公约数
二、更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术
在《九章算术》中记载了更相减损术求最大公约数的步骤:可半者半之,不可半者,副置分母•子之数,以少减多,更相减损,求其等也,以等数约之
解题步骤:以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个相等的数就是所求的最大公约数
例:用更相减损术求98与63的最大公约数98-63=3563-35=2835-28=728-7=2121-7=1414-7=7所以98和63的最大公约数是7
三、秦九韶算法秦九韶算法适用一般的多项式的求值问题
用秦九韶算法求一般多项式
当时的函数值,可把次多项式的求值问题转化成求个一次多项式的值的问题,即求=+=+=+……=+这是一个在秦九韶算法中反复执行的步骤,可以用循环结构来实现
用秦九韶算法求一般多项式
当时的函数值,需要次乘法运算,次加法运算
四、进位制1、概念进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值
可使用数字符号的个数称为基数,基数为,即可称进位制,简称进制
现在最常用的是十进制,通常使用10个阿拉伯数字0—9进行记数