算法案例 - 简单 - 讲义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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的一个根所在的区间是()