算法案例 - 简单 - 讲义

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

算法案例

知识讲解

一、更相减损术

1.概念:求两个整数的最大公约数的算法.

2.步骤:以两个数中较大的数减去较小的数,以差数和较小的数构成一对新的数,对这一对数再用大数减小数,以同样的操作一直做下去,直到产生一对相等的数,此数就是这两个数的最大公约数.

3.等值算法:用“更相减损术”设计出来的算法求最大公约数的算法称为“等值算法”,用等值算法可以求任意两个正整数的最大公约数.

4.原理:《九章算法》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数.以具体的例子来说明更相减损术求最大公约数的原理:以求117和182的最大公约数为例:(117182)(11765)(6552)(5213)(1339)(1326)(1313),,,,,,,,

→→→→→→

每次操作后得到的两个数与前两个数的最大公约数相同,而且逐渐减少,故总能得到相等的两个数,即为所求的最大公约数.

二、辗转相除法

1.概念:辗转相除法又称欧几里得算法,是由欧几里得在公元前300年左右首先提出来的求两个数的最大公约数的算法.

2.步骤:对于给定的两个数,以其中较大的数除以较小的数得到一个余数,将较小的数与余数看成一对新的数,重复上面的步骤,直到余数为零为止,此时上一步中较小的数即为所求的最大公约数.

如:(117182)(11765)(6552)(5213)(130)

,,,,,,故13即为所求.

→→→→

三、秦九韶算法

1.用途:秦九韶算法求多项式的值

2.具体内容:已知一个多项式函数,计算多项式在某点处的函数值的一种算法,是我国古

代数学家秦九韶提出的,具体如下: 对任意一个n 元多项式1110()n n n n f x a x a x a x a --=++++,

改写成如下形式:12110()()n n n n f x a x a x a x a ---=++

++ 231210(())n n n n a x a x a x a x a ---=++

+++

=

1210((()))n n n a x a x a x a x a --=+++++,

求多项式的值时,先计算最内层括号内的一次多项式的值,即11n n v a x a -=+, 然后由内向外逐层计算一次多项式的值, 即212n v v x a -=+,323n v v x a -=+,

,10n n v v x a -=+.

这样,求一个n 次多项式的值,就转化为求n 个一次多项式的值. 令1(1)(())k n n n k n k v a x a x a x a ----=++++,则递推公式为01n

k

k n k v a v v x a --=⎧⎨=+⎩,

其中12k n =,,,.

到目前为止,此算法仍然是世界上多项式求值的最先进的算法.

3.秦九韶算法与其它算法的比较:1110()n n n n f x a x a x a x a --=++

++,

(1)直接求和法:先计算各个单项式的值,再把它们相加,乘法次数为

(1)

(1)212

n n n n ++-+++=

,加法次数n ; (2)逐项求和法:先计算x 的各项幂的值,再分别相乘,计算幂值需要乘法1n -次,将幂值与多项式系数k a 相乘需要乘法n 次,故共需要乘法21n -次,加法n 次. 注:此方法对直接求和法有所改进,但仍然比秦九韶算法计算量大很多. (3)秦九韶算法:计算量仅为乘法n 次,加法n 次.

4.秦九韶算法的特点:

1)化高次多项式求值为一次多项式求值; 2)减少了运算次数,提高了效率; 3)步骤重复执行,容易用计算机实现.

注意:利用秦九韶算法计算多项式的值关键是能正确地将所给多项式改写,然后由内向外逐

次计算,由于后项计算用到前项的结果,故应认真、细心,确保中间结果的准确性.若在多项式中有几项不存在时,可将这些项的系数看成0,即把这些项看做0·x n

四、进位制

内容:K 进制数的基数为K ,K 进制数是由0~1K -之间的数字构成. 将十进制的数转化为

K 进制数的方法是除K 取余法.把K 进制数1

10110(0,0,

,)n n n n a a a a a K a a a K --<<≤< 化

为十进制数的方法为11

10()110n n n n k n n a a a a a k a k a k a ---=++

++.

典型例题

一.选择题(共5小题)

1.(2016•渭南一模)函数f(x)=lnx的零点所在的区间是()A.(1,2) B.(1,e) C.(e,3) D.(3,+∞)

【解答】解:函数f(x)=lnx在(0,+∞)上连续,

且f(e)=1<0,f(3)=ln3﹣1>0,

故选:C.

2.(2015•醴陵市)下列图象表示的函数中,不能用二分法求零点的是()A.B.C.

D.

【解答】解:由函数图象可得,A中的函数有零点,但函数在零点附近两侧的符号相同,故不能用二分法求零点;

除.

B,C,D中的函数存在零点且函数在零点附近两侧的符号相反,故能用二分法求函数的零点,

故选:A.

3.(2015•惠州模拟)若函数f(x)=x3+x2﹣2x﹣2的一个正数零点附近的函数值用二分法计算,那么方程x3+x2﹣2x﹣2=0的一个近似根(精确到0.1)为()A.1.2 B.1.3 C.1.4 D.1.5

【解答】解:由参考数据可得f(1.43750)>0,f(1.40625)<0,又因为题中要求精确到0.1,

所以近似根为1.4

故选:C.

4.(2017秋•辽阳县期末)方程x3﹣x﹣3=0的实数解落在的区间是()A.[﹣1,0]B.[0,1]C.[1,2]D.[2,3]

【解答】解:令f(x)=x3﹣x﹣3,

易知函数f(x)=x3﹣x﹣3在R上连续,

f(1)=﹣3<0,f(2)=8﹣2﹣3=3>0;

故f(1)•f(2)<0,

故函数f(x)=x3﹣x﹣3的零点所在的区间为[1,2];

故选:C.

5.(2015春•淄博期末)根据表格内的数据,可以断定方程e x﹣x﹣2=0的一个根所在的区间是()

相关文档
最新文档