文档详情

四个经典的算法案例

碎****木
实名认证
店铺
DOCX
198.10KB
约7页
文档ID:248182092
四个经典的算法案例_第1页
1/7

四个经典的算法案例案例 1:辗转相除法,又名欧几里德算法,它是用来求两个正整数最大公因 数的一种方法例:用辗转相除法求 8251 与 6105 的最大公约数∵ 8251÷6105=1 余 21466105÷2146=2 余 18132146÷1813=1 余 3331813÷ 333=5 余 148333 ÷ 148=2 余 37148 ÷ 37=4∴ 37 是 8251 与 6105 的最大公约数程序框图如下:其中 r = mod(a, b) r 表示 a÷b 的余数案例 2:秦九韶算法,它是中国南宋时期数学家秦九韶提出的,用来解决多 项式的求值问题,在西方被称作霍纳算法首先看一道例题:求多项式 f(x)=2x5―5x4―4x3+3x2―6x+7 当 x=5 时的值根据秦九韶算法:f(x)可表示为 f(x)= ({[(2x―5)x―4] x+3}x―6) x+7于是 令 V0=5则 V1=2V0―5=2×5―5=5V2=V1X―4=5×5―4=21V3=V2X+3=21×5+3=108V4=V3X―6=108×5―6=534V5=V4X+7=534×5+7=2677∴ f(5) = 2677秦九韶算法只用到乘法、加法两个简单运算,不需要乘方运算,它是多项式 求值的简化算法。

下面看程序框图,其中 a0、a1、a2、a3、a4、a5 是 f (x) 从右向左的系 数案例 3:排序:是一种基本并且常用的算法,排序的算法很多,可以参阅课 本,这里不再叙述案例 4:进位制例:画程序框图,表示把 k 进制数 a (共有 n 位),转化为十进制数b 的过 程框图如下:其中:t = GET a│i│ t 表示 a 右数第 i 位利用上面的算法,把 2 进制数 110011 化为十进制的数即:1×20+1×21+0×22+0×23+1×24+1×25= 51以上是四个经典算法,大家可以从中体会算法的基本思想和算法的基本结 构,并尝试用算法的基本语句描述它。

下载提示
相似文档
正为您匹配相似的精品文档