算法案例_课件

合集下载

算法案例PPT优秀课件8

算法案例PPT优秀课件8

-1 O 1 2 3
x
-1
f(2.5)=0.25>0,即f(2)·f(2.5)<0,
故近似解在区间(2,2.5)内.
通过依次取区间中点的方法,将根所在的区间逐 步缩小,并列出表格:
区间 (2,3) (2,2.5) (2.25,2.5) (2.375,2.5) (2.375,2.4375)
区间中点的值 2.5 2.25
2、不断二分解所在的区间
若 x 1 (a ,b )不 , f( 妨 a ) 0 ,f( 设 b ) 0
(1)若 (2)若
f (ab) 0,由
2
f (ab) 0 ,由
2
f (a) 0,则
f (b) 0,则
xx11((aa,2ab2,bb))
(3)若 f (ab) 0,则
孙子的解法是:
先从3和5、3和7、5和7的公倍数中相应地找出分别被7、5、3除均余1的 较小数15、21、70.即
15÷7=2……余1, 21÷5=4……余1, 70÷3=23……余1. 再用找到的三个较小数分别乘以被7、5、3除所得的余数的积连加, 15×2+21×3+70×2=233. 最后用和233除以3、5、7三个除数的最小公倍数. 233÷105=2……余23, 这个余数23就是合乎条件的最小数.
顺序结构及框图表示
1.顺序结构: 依次进行多个处理的结构称为 顺序结构.
2.顺序结构的流程图
语句A 语句B
顺序结构是最简单、 最基本的算法结构,语句与 语句之间,框与框之间是按 从上到下的顺序进行的.它 是由若干个处理步骤组成 的,这是任何一个算法都离 不开的基本结构.
选择结构也叫条件结构,是指在算法中通过对条件的 判断,根据条件是否成立而选择不同流向的算法结构.

算法案例-课件

算法案例-课件
f( x )5 x 5 2 x 4 3 .5 x 32 .6 x 2 1 .7 x0 .8
用秦九韶算法求f(5)的值.
f(x)=(Biblioteka ((5x+2)x+3.5)x-2.6)x+1.7)x-0.8.
v1=5×5+2=27; v2=27×5+3.5=138.5; v3=138.5×5-2.6=689.9; v4=689.9×5+1.7=3451.2; v5=3451.2×5-0.8=17255.2.
1.3 算法案例
第二课时
问题提出
1.辗转相除法和更相减损术,是求 两个正整数的最大公约数的优秀算法, 我们将算法转化为程序后,就可以由计 算机来执行运算,实现了古代数学与现 代信息技术的完美结合.
2.对于求n次多项式的值,在我国古 代数学中有一个优秀算法,即秦九韶算 法,我们将对这个算法作些了解和探究.
v=an i=n-1
INPUT “n=”;n INPUT “an=”;a INPUT “x=”;x
v=a i=n-1
i=i-1
v=vx+ai
i≥0?
否 输出v
输入ai 是
结束
WHILE i>=0 INPUT “ai=”;b v=v*x+b i=i-1 WEND PRINT y END
理论迁移
例1 已知一个5次多项式为
第四步,v=vx+ai,i=i-1. 第五步,判断i≥0是否成立.若是,则返回第
二步;否则,输出多项式的值v.
思考2:该算法的程序框图如何表示?
开始
输入n,an,x的值
v=an i=n-1
i=i-1
v=vx+ai

《算法案例3二分法》课件

《算法案例3二分法》课件

算法定义
有序步骤
算法是一系列有序 的步骤
有限性
算法在执行过程中 会在有限步骤内终

确定性
算法保证经过有限 次计算后可以得到
确定的结果
算法特性
输入输出
算法具有输入和输 出
确定性
相同输入条件下, 算法的输出结果唯

有效性
算法解决问题的方 法必须有效
01 计算机科学
算法是计算机科学的基础
02 人工智能
● 03
第3章 二分法改进
二分法变形
二分查找的变形问题包括根据不同已知条件下的优化以及多 指针二分法的应用。这些变形能够提高算法的效率和适用性。
二分法应用
图论中的应用
优化路径搜索
贪心算法中的 应用
局部最优解
动态规划中的 应用
寻找最优解
01 LeetCode上的经典问题
二分搜索
02 实际项目中的案例
医疗领域的二分法 实践
医疗影像处理中的应用
疾病诊断模型的优化
智能化领域的二分法 实践
智能家居系统中的应用
智能机器人算法优化
二分法在游戏开 发中的应用
在游戏开发中,二分法被广泛应用于解决地图路径规划、资 源分配等问题。游戏引擎中的二分法可以提高游戏性能和体 验,策略游戏中的二分法可以优化AI决策,多人在线游戏中 的二分法能提升服务器响应速度。
《算法案例3二分法》PPT 课件
制作人:PPT创作创作 时间:2024年X月
第1章 算法概述 第2章 二分法原理 第3章 二分法改进 第4章 二分法应用拓展 第5章 实践应用案例 第6章 总结与展望
目录
● 01
第1章 算法概述
什么是算法?

算法案例 课件

算法案例 课件

2.(遵义高一期中)用“辗转相除法”求得 459 和 357 的最大公
约数是( )
A.3
B.9
C.17
D.51
解析:利用辗转相除法,得
459=357×1+102, 357=102×3+51, 102=51×2+0, 所以 459 和 357 的最大公约数是 51. 答案:D
3.把 189 化为三进制数,则末位数字是( )
1.判断下列各题.(对的打“√”,错的打“×”) (1) 辗 转 相 除 法 与 更 相 减 损 术 是 求 两 个 正 数 最 小 公 倍 数 的 方 法.( × ) (2)利用秦九韶算法多项式 f(x)=x6-5x5+6x4+x2+3x+2,当 x=-2 时,f(-2)=320( √ ) (3)进位制是不同进位制的数可以相互转化.( √ )
跟踪训练 2 用秦九韶算法计算多项式 f(x)=12+35x-8x2+ 6x4+5x5+3x6 在 x=-4 时的值时,v3 的值.
解析:根据秦九韶算法多项式可化为 f(x)=(((((3x+5)x+6)x+ 0)x-8)x+35)x+12.
由内向外计算 v0=3; v1=3×(-4)+5=-7; v2=-7×(-4)+6=34; v3=34×(-4)+0=-136.
[化解疑难]
(1)辗转相除法与更相减损术的比较
方法
辗转相除法
更相减损术
计算法则
除法
减法
终止条件
余数为 0
减数与差相等
最大公约数 的选取
最后一步中的除数
最后一步中的 减数
计算次数
步骤较少,运算复杂
步骤较多,运算 简单
相同点
同为求两个正整数最大公约数的方法,都是递归过 程

算法案例课堂教学素材市公开课一等奖省优质课获奖课件

算法案例课堂教学素材市公开课一等奖省优质课获奖课件
辗转相除法与更相减损术
例:求下面两个正整数最大条约数:
(1)求25和35最大条约数 (2)求49和63最大条约数
(1)5 25 35 57
所以,25和35最大条约 数为5
(2)7 49 63 79
所以,49和63最大条约 数为7
思索:除了用这种方法外还有没有其它方法?
例:怎样算出8251和6105最大条约数?
第2页
一、辗转相除法(欧几里得算法)
1、定义:所谓辗转相除法,就是对于给定两个数,用较大数除以较小 数。若余数不为零,则将余数和较小数组成新一对数,继续上面除法, 直到大数被小数除尽,则这时较小数就是原来两个数最大条约数。
2、步骤(以求8251和6105最大条约数过程为例) 第一步 用两数中较大数除以较小数,求得商和余数 8251=6105×1+2146
十六进制有0~9十个数字及ABCDEF六个字母.
第19页
为了区分不一样进位制,常在数右下角标明基数, 十进制普通不标注基数.
比如十进制133.59,写成133.59(10) 七进制13,写成13(7);二进制10,写成10(2)
普通地,若k是一个大于1整数,那么以k 为基数k进制能够表示为一串数字连写在一起 形式:
进位制是人们为了计数和运算方便而约定记数系统。 进位制是一个记数方式,用有限数字在不一样位置 表示不一样数值。可使用数字符号个数称为基数, 基数为n,即可称n进位制,简称n进制。
比如: 满二进一,就是二进制;
满十进一,就是十进制;
满十二进一,就是十二进制;
满六十进一,就是六十进制 基数: “满几进一”就是几进制,几进制基数就是几. 第16页
思索:从上面两个例子中能够 看出计算规律是什么?

高一数学人必修课件算法案例

高一数学人必修课件算法案例

经典问题:归并排序、快速排序
归并排序
归并排序是一种典型的分治策略应用。它将待排序序列分成若干个子序列,然后对每个 子序列进行排序,最后将排好序的子序列合并起来得到完全有序的序列。归并排序的时
间复杂度为O(nlogn)。
快速排序
快速排序也是一种分治策略应用。它通过一趟排序将待排序序列分成两部分,其中一部 分的所有元素均比另一部分的所有元素小,然后分别对这两部分继续进行排序,以达到
要点二
DFS方法思想
从任意一个没有入度的顶点开始深度 优先搜索,将搜索到的顶点依次加入 结果序列中,并删除该顶点和以它为 起点的所有有向边。重复上述过程, 直到所有顶点都被加入结果序列中。
要点三
BFS方法思想
首先将所有入度为0的顶点加入队列 中,然后依次将队列中的顶点出队并 加入结果序列中,同时删除该顶点和 以它为起点的所有有向边。重复上述 过程,直到队列为空或无法找到入度 为0的顶点为止。
2
3. 重复步骤2,直到所有顶点都被加入集合S中。
Kruskal算法
3
最小生成树问题——Prim算法和Kruskal算法
01
02
03
1. 将所有边按照权值从 小到大排序。
2. 初始化一个空并查集 。
3. 对于每条边(u, v),如 果u和v不在同一连通分 量中,则将其加入生成 树中,并合并u和v所在
易错点二
在计算时间复杂度和空间复杂 度时,忽视某些重要因素,导
致评价结果不准确。
拓展延伸:其他高级算法简介
回溯算法
一种通过探索所有可能的解 来解决问题的算法,适用于 解决组合优化问题,如八皇 后问题、图的着色问题等。
分支限界法
一种在问题的解空间树上搜 索问题的解的方法,与回溯 法的主要区别在于对解空间 树的搜索策略不同。

算法初步算法案例ppt

算法初步算法案例ppt

搜索算法案例分析
顺序搜索
详细描述了顺序搜索的基本思想、算法步骤和时间复杂 度分析。
二分搜索
详细描述了二分搜索的基本思想、算法步骤和时间复杂 度分析。
图算法案例分析
最短路径算法
详细描述了Dijkstra算法和Bellman-Ford算法的基本 思想、算法步骤和时间复杂度分析。
最小生成树算法
详细描述了Prim算法和Kruskal算法的基本思想、算 法步骤和时间复杂度分析。
详细描述
给定一个整数数组,求出该数组中最大的 子段和。子段和是指数组中连续的若干个 元素相加得到的和。这个问题可以通过构 建状态转移方程,利用动态规划的方法求 解。
旅行商问题
总结词
这是一个经典的NP完全问题,通过使用动 态规划的方法,可以求解最优解。
详细描述
旅行商问题是一个经典的NP完全问题,给 定一组城市和每对城市之间的距离,寻找一 条最短路径,使得旅行商能够遍历所有城市 并回到原点。这个问题可以使用动态规划的
Floyd-Warshall算法
总结词
Floyd-Warshall算法是一种用于解决任 意两点间最短路径问题的图算法。
VS
详细描述
Floyd-Warshall算法用于计算图中所有节 点对之间的最短路径。它采用动态规划的 思想,通过逐步更新距离矩阵来找到最短 路径。算法的主要步骤包括初始化距离矩 阵、逐步更新距离矩阵和输出最短路径。
0-1背包问题
总结词
这是一个经典的动态规划问题,通过构建状态转移方程,寻找最优解。
详细描述
0-1背包问题是一种常见的最优化问题,给定一组物品,每个物品都有自己的 重量和价值,物品只能取或者不放,目标是在不超过背包总重量的前提下, 使得背包中物品的总价值最大。

算法案例(一)课件PPT

算法案例(一)课件PPT

D.8
解析 f(x)=(((((6x+5)x+4)x+3)x+2)x+1)x+7,
∴加法6次,乘法6次,
∴6+6=12次,故选C.
解析答案
规律与方法
1.辗转相除法,就是对于给定的两个正整数,用较大的数除以较小的数, 若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除 法,直到大数被小数除尽为止,这时的较小的数即为原来两个数的最 大公约数. 2.更相减损术,就是对于给定的两个正整数,用较大的数减去较小的数, 然后将差和较小的数构成新的一对数,继续上面的减法,直到差和较 小的数相等,此时相等的两数即为原来两个数的最大公约数.
答案
知识点二 求n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0的值的算法 思考 衡量一个算法是否优秀的重要参数是速度.把多项式f(x)=x5+x4+ x3+x2+x+1变形为f(x)=((((x+1)x+1)x+1)x+1)x+1,然后求当x=5时 的值,为什么比常规逐项计算省时? 答案 从里往外计算,充分利用已有成果,可减少重复计算. 秦九韶算法的一般步骤: 把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式: (…((anx+an-1)x+an-2)x+…+a1)x+a0,求多项式的值时,首先计算 最内层括号内 一次多项式的值,即v1= anx+an-1 ,然后由内向外逐层计 算一次多项式的值,即
反思与感悟 解析答案
跟踪训练1 用辗转相除法求261和319的最大公约数. 解 辗转相除法: 319÷261=1(余58), 261÷58=4(余29), 58÷29=2(余0), 所以319与261的最大公约数为29.
解析答案
类型二 更相减损术 例2 试用程序框图和程序表述更相减损术. 解 程序框图:

高中数学人教A版必修3第一章1.3算法案例课件

高中数学人教A版必修3第一章1.3算法案例课件


9- 3= 6
6 - 3 = 3 减数与差相等
3×2=6
78与36的最大公约数为6.
更相减损术
问题6.根据更相减损术的过程,设计求两个正整数m,n最 大公约数的算法,需要用到什么逻辑结构?为什么?
第一步:任意给定两个正整 算法分析:
数,判断它们是否都是偶数。第一步,给定两个正整数m,n(m>n).
更相减损术
例2. 用更相减损术求78与36的最大公约数.
解: 78与36都是偶数
“可半”
78 ÷ 2 = 39 36 ÷ 2 = 18
“可半者半之”
除 完
39 - 18 = 21 大减小 21 - 18 = 3

18 - 3 = 15

15 - 3 = 12
“更相减损”(辗转相减)

12 - 3 = 9
2 18 30 3 9 15 35
18与30的最大公约数为2 3 6 .
问题1. 求8251与6105的最大公约数. 可以使用短除法吗?
困难:两数比较大、公约数不易视察。 (辗转相除法、更相减损术)
知问
思考1:辗转相除法与更相减损术可以用来解 决什么问题? 可以解决求两个正整数最大公约数的任何问题。
《九章算术》——更相减损术
“可半者半之,不可半者,副置分母、子之数,以少 减多,更相减损,求其等也,以等数约之。”
《九章算术》
刘徽
《九章算术》其作者已不可 考,现今流传的大多是在三 国时期刘徽为《九章》所作 的注本。它是中国古代第一 部数学专著,系统总结了战 国、秦、汉时期的数学成绩, 收录了246个数学问题及其 解法,是当时世界上最简练 有效的应用数学,它的出现 标志中国古代数学形成了完 整的体系。

《算法案例》课件19(25张PPT)(新人教A版必修3)

《算法案例》课件19(25张PPT)(新人教A版必修3)
WHILE语句一般形式:
WHILE 条件 循环体
WEND
循环语句基本类型(二) UNTIL语句
UNTIL语句的一般形式:
DO 循环体
LOOP UNTIL 条件
题型
1概念题 (三种语言,三种结构,算法语句) 2读懂程序语言(求输出结果,该算法问题
是?) 3大题(编写程序)
(1)输入输出语句,赋值语句 (2)条件语句 (3)循环语句( WHILE语句, UNTIL语句) (4)实际问题
基本算法语句 (1)输入输出语句 (2)赋值语句(交换两个变量)
赋值语句的一般格式为: 变量名=表达式 (3)条件语句
If条件语句的基本类型(一)
流程图

条件
语句1
If语句
IF 条件 , THEN 否 语句1 ;
ELSE 语句2 语句2
END IF .
(4)循环语句
循环语句基本类型(一) WHILE语句
顺序结构: (1)顺序结构是指在一个算法中运算是按照步骤依次执行的, 这是一种最简单的算法结构,也是任何一个算法必不可少的逻辑 结构。
(2)顺序结构的流程图如图
2、条件结构常用的程序语言和格式
否 满足条件? 是
语句
满足条件? 是
语句1
否 语句2
IF 条件 THEN 语句
END IF
(单分支条件结构)
IF 条件 THEN 语句1
ELSE 语句2
END IF
(双分支条件结构)
一、算法考点:
1、三种算法语言。
(1)自然语言(2)流程图(3)程序语言
2、3种结构和3种语句。 3、算法的应用。
条件结构
(1)条件结构是指在算法中有时要进行判断,判断的 结果直接决定后面的执行步骤,这样的结构叫作条件 结构,有时也称为选择结构、条件分支结构等。

算法案例 课件

算法案例 课件

【解析】1.378=90×4+18,90=18×5+0, 所以378与90的最大公约数是18. 答案:18 2.因为294与84是偶数,首先除以2得到147,42,再求147与42的 最大公约数147-42=105,105-42=63,63-42=21,42-21=21, 共做了4次减法. 答案:4
3.方法一(辗转相除法) 第一步:104÷65=1×65+39 第二步:65=1×39+26 第三步:39=1×26+13 第四步:26=2×13+0 所以104和65的最大公约数为13.
方法二(更相减损术) 由于65不是偶数,把104和65以大数减小数,并辗转相减,即 104-65=39, 65-39=26, 39-26=13, 26-13=13, 所以104和65的最大公约数为13.
3.进位制及进位制之间的互化 (1)进位制: ①概念:进位制是为了_______________而约定的记数系统, “满几进一”就是几进制. ②基数:几进制的基数就计是数__和_运. 算方便

(2)不同进位制之间的互化: ①k进制化为十进制的方法: anan-1…a1a0(k)=__________________________(an,an-1,…,a1,a0∈N, 0<an<k,0≤an-1,…,a1,a0<k). ②十进制化为k进制a的n×方kn+法an-—1×—kn_-1_+…_+_a_1_×_k_+_a_0 .
v4=87×2+0=174, v5=174×2+0=348, v6=348×2+2=698, v7=698×2+1=1397. 所以当x=2时,多项式的值为1397. 这样求多项式的值时,是通过求7个一次多项式的值得到的,故进行 了7次乘法和7次加法.

1.3 算法案例 课件(共32张PPT)解读

1.3 算法案例 课件(共32张PPT)解读
第一章
算法初步
1.3 算法案例
第一章
算法初步
学习导航
学习目标 重点难点 ― → 算法思想 ― ― → 算法用途 案例 ― 重点:引导学生理解算法思想. 难点:学生对算法应用的掌握.
体会 了解
栏目 导引
第一章
算法初步
新知初探思维启动
1.辗转相除法
所谓辗转相除法,就是对于任意给定的两个正整数,用较大
2 .两种非十进制的不同进制之间相互转化时,可以把十进 制作为转化的中间桥梁.
栏目 导引
第一章
算法初步
精彩推荐典例展示
易错警示 利用秦九韶算法求值的易错点
例4 A.320 C.-320 【常见错误】 利用秦九韶算法求多项式 f(x) = x6 - 5x5 + 6x4 + x2 +
3x+2,当x=-2时的值为(
③十六进制:a:使用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,
F这十六个不同的数码,其中A,B,C,D,E,F分别代表 十进制中的10,11,12,13,14,15;b:满十六进一,如F+1=2+ E=10.
栏目 导引
第一章
算法初步
(3)不同进位制数之间的转化
①k进制数转化为十进制数 把k进制数转化为十进制数,写成不同位上数字与基数幂的 乘积之和即可(简称幂积求和),即anan-1…a1a0(k)=an×kn+ an-1×kn-1+…+a1×k+a0.例如,将二进制数11 001(2)化为
f(x)=(anxn-1+an-1xn-2+…+a1)x+a0
=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =…
栏目 导引
第一章
算法初步
首先计算最内层括号内一次多项式的值,即v1=anx+an-1, 然后由内向外逐层计算一次多项式的值.这样,求n次多项式

算法案例 课件

算法案例 课件

案例1 辗转相除法与更相减损术 1.辗转相除法:
求两个正数8251和6105的最大公约数。 分析:8251与6105两数都比较大,而且没有明显的 公约数,如能把它们都变小一点,根据已有的知识 即可求出最大公约数. 解:8251=6105×1+2146 注:8251和6105的公约数就是6105和2146的公约数, 求8251和6105的最大公约数,只要求出6105和2146 的公约数就可以了。
所以4081与20723的最大公约数为53.
2.更相减损术:
我国早期也有解决求最大公约数问题的算法, 就是更相减损术。
更相减损术求最大公约数的步骤如下:可半者 半之,不可半者,副置分母·子之数,以少减多, 更相减损,求其等也,以等数约之。
翻译出来为:第一步:任意给出两个正数;判 断它们是否都是偶数。若是,用2约简;若不是,执 行第二步。
你能写出利用辗转相除法求最大公约数的程序吗?
(1)算法分析:所谓辗转相除法,就是对于给定的两个数, 用较大的数除以较小的数。若余数不为零,则将余数和较小 的数构成新的一对数,继续上面的除法,直到大数被小数除 尽,则这时较小的数就是原来两个数的最大公约数。
(2)算法步骤 第一步:输入两个正整数m,n(m>n). 第二步:计算m除以n所得的余数r. 第三步:m=n,n=r. 第四步:若r=0,则m,n的最大公约数等于m; 否则转到第二步. 第五步:输出最大公约数m.
求两个正数8251和6105的最大公约数。 解:8251=6105×1+2146;
6105=2146×2+1813;
2146=1813×1+333; 1813=333×5+148; 333=148×2+37; 148=37×4+0.
则37为8251与6105的最大公约数。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

优点是简单,易懂;缺点是不通用,不能解决任意多 项多求值问题,而且计算效率不高.
[问题2] 怎样找到更高效的算法?
分析:计算x的幂时,应充分利用前面的计算结果, 以减少计算量, 如:先计算x2,然后依次计算
x2 • x, (x2 • x) • x, ((x2 • x) • x) • x 的值.
f(x)=x5+x4+x3+x2+x+1可变形为
i>=0?

输出v
结束
i=i-1 v=vx+ai
输入ai

1.试搜索材料了解秦久韶,谈谈你对 他的伟大之处的认识。
【点评】秦九韶算法是求一元多项式 的值的一种方法.
它的特点是:把求一个n次多项式的值 转化为求n个一次多项式的值,通过这种转 化,把运算的次数由至多n(n+1)/2次乘法运 算和n次加法运算,减少为n次乘法运算和n 次加法运算,大大提高了运算效率.
v5=v4x+7=534×5+7=2677
所以,当x=5时,多项式的值是2677.
这种求多项式值的方法就是秦九韶算法.
变形前的计算, 需要多少次乘法 计算和多少次加
法计算?
变形后利用秦九韶算法计算n次多项式当x=x0 时,需要多少次乘法计算和多少次加法计算?
例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.
我们可以改写成如下形式: f(x)=(…(anx+an-1)x+an-2)x+…+a1)x+a0.
求多项式的值时,首先计算最内层括号内一 次多项式的值,即 v1=anx+an-1, 然后由内向外逐层计算一次多项式的值,即 v2=v1x+an-2, v3=v2x+an-3, ……, vn=vn-1x+a0.
这样,求n次多项式f(x)的值就转化为求n个 一次多项式的值.这种算法称为秦九韶算法.
例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.
f(x)=2x5-5x4-4x3+3x2-6x+7 v0=2 =(2x4-5x3-4x2+3x-6)x+7 v1=v0x-5=2×5-5=5 =((2x3-5x2-4x+3)x-6)x+7 v2=v1x-4=5×5-4=21 =(((2x2-5x-4)x+3)x-6)x+7 v3=v2x+3=21×5+3=108 =((((2x-5)x-4)x+3)x-6)x+7 v4=v3x-6=108×5-6=534
算法案例 ——秦九韶算法
[问题1] 某位同学求多项式f(x)=x5+x4+x3+x2+x+1 当x=5时的值,设计一个算法后写出程序如下:
程序
x=5
ห้องสมุดไป่ตู้
f=x^5 + x^4 + x^3 + x^2 + x + 1 PRINT f END
能否找到 更高效的 算法?
上述算法一共做了10 次乘法运算, 5 次加法运算.
解法二:列表
原多项式 的系数
2 -5 -4 3 -6 7
x=5
10 25 105 540 2670
2 5 21 108 534 2677
V0
V1
V2
V3
V4
V5
多项式
所以,当x=5时,多项式的值是2677. 的值.
练:用秦九韶算法求多项式 f(x)=2x6-5x5-4x3+3x2-6x当x=5时的值.
解:原多项式先化为:
f(x)=2x6-5x5 +0×x4-4x3+3x2-6x+0
列表 2 -5 0 -4 3 -6 0
x=5
10 25 125 605 3040 15170
2 5 25 121 608 3034 15170
所以,当x=5时,多项式的值是15170.
注意:n次多项式有n+1项,因此缺少哪一项 应将其系数补0.
f(x)=(x4+x3+x2+x+1)x+1 =((x3+x2+x+1)x+1)x+1 =(((x2+x+1)x+1)x+1 )x+1
此时算法一共做
了 4 次乘法运算,
5 次加法运算.
=((((x+1)x+1)x+1)x+1)x+1
一般地,对于一个n次多项式
f(x)=anxn+an-1xn-1+an-2xn-2+……+a1x+a0.
例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.
思考:例1计算时,进行了多少次乘法计算? 多少次加法计算?
变式训练,深化提高
观察上述秦九韶算法中的n个一次式,可见 vk的计算要用到vk-1的值. 若令v0=an,得递推式
v0=an, vK=vK-1x+an-k(k=1,2,……,n)
这是一个在秦九韶算法中反复执行的步骤, 因此可用循环结构来实现.试写出程序框图。
程序框图
开始
输入n, x, an v=an i=n-1
相关文档
最新文档