算法案例 - 简单 - 讲义

合集下载

四个经典的算法案例

四个经典的算法案例

四个经典的算法案例案例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以上是四个经典算法,大家可以从中体会算法的基本思想和算法的基本结构,并尝试用算法的基本语句描述它。

算法的教学实践__案例(3篇)

算法的教学实践__案例(3篇)

第1篇一、背景随着信息技术的飞速发展,算法已经成为现代社会不可或缺的一部分。

在计算机科学、数据科学、人工智能等领域,算法的应用越来越广泛。

为了培养学生的逻辑思维能力、问题解决能力和创新意识,将算法融入教学实践显得尤为重要。

本文以某高校计算机科学与技术专业为例,介绍一种算法的教学实践案例。

二、教学目标1. 理解算法的基本概念和特性。

2. 掌握常用算法的设计与实现方法。

3. 能够运用算法解决实际问题。

4. 培养学生的团队合作精神和创新能力。

三、教学内容1. 算法的基本概念:算法的定义、特性、复杂度等。

2. 常用算法:排序算法(冒泡排序、选择排序、插入排序等)、查找算法(二分查找、顺序查找等)、图算法(广度优先搜索、深度优先搜索等)。

3. 算法设计方法:分治法、动态规划、贪心算法等。

4. 算法实现:使用Python语言实现各种算法。

四、教学实践案例1. 案例背景某高校计算机科学与技术专业开设了一门《数据结构与算法》课程,课程内容涉及算法的基本概念、常用算法、算法设计方法以及算法实现等。

为了提高学生的实践能力,教师决定采用案例教学法,通过一个具体的案例让学生在实践中学习算法。

2. 案例描述案例:某公司需要开发一个图书管理系统,实现以下功能:(1)图书信息录入:包括书名、作者、出版社、出版日期、价格等信息。

(2)图书查询:根据书名、作者、出版社等信息进行查询。

(3)图书借阅:实现图书的借阅、归还功能。

(4)图书统计:统计图书的借阅次数、库存数量等信息。

3. 教学过程(1)引入案例教师首先向学生介绍案例背景,让学生了解图书管理系统的功能和需求。

(2)分析问题教师引导学生分析案例中的问题,明确需要解决的问题,如图书信息录入、查询、借阅、统计等。

(3)设计算法教师带领学生一起设计解决案例中问题的算法,如图书信息录入可以使用链表实现,图书查询可以使用二分查找算法,图书借阅可以使用栈实现,图书统计可以使用哈希表实现。

SIMPLE算法及计算例子

SIMPLE算法及计算例子

SIMPLE算法及计算例子算法是指一系列解决问题的步骤和规则,是计算机科学的基础。

简单算法是指易于理解和实现的算法,适用于一些简单的问题。

下面是几个简单算法及其计算例子。

1.冒泡排序算法:冒泡排序是一种基础的排序算法,它依次比较相邻的元素,如果顺序不对则进行交换,直到整个序列有序为止。

计算例子:假设有一个数字序列[5,3,8,4,2],使用冒泡排序算法将其从小到大进行排序。

-第一次迭代:比较5和3,交换位置,得到序列[3,5,8,4,2]-第二次迭代:比较5和8,位置不变,继续比较下一对数字-第三次迭代:比较8和4,交换位置,得到序列[3,5,4,8,2]-第四次迭代:比较8和2,交换位置,得到序列[3,5,4,2,8]经过第四次迭代后,发现序列已经是有序的,算法结束。

最终的有序序列为[2,3,4,5,8]。

2.欧几里得算法:欧几里得算法用于计算两个非负整数的最大公约数。

算法基于两个数的辗转相除法,即先用较大数除以较小数得到余数,然后用较小数除以余数,依次循环,直到余数为0为止。

计算例子:假设需要计算36和48的最大公约数。

-第一次迭代:48除以36,余数为12-第二次迭代:36除以12,余数为0迭代过程中余数为0时,算法结束,最大公约数为123.线性算法:线性算法用于在一个无序列表或数组中寻找一些元素的位置。

它是一种直观的方法,逐个比较列表中的元素,当找到匹配的元素时返回其位置,否则返回未找到。

计算例子:假设有一个列表[4,2,7,1,9,5],需要找到数字7的位置。

-从列表的第一个元素开始,比较其与目标数字7-第一次比较:4!=7,继续比较下一个元素-第二次比较:2!=7,继续比较下一个元素-第三次比较:7=7,找到匹配,返回位置3最终结果为数字7的位置为3这些是一些简单算法及其计算例子,它们是计算机科学中最基础的算法之一、无论是冒泡排序还是求最大公约数,这些算法都体现了计算机程序处理问题的思维方式和逻辑。

易语言经典算法 实例辅导讲义

易语言经典算法  实例辅导讲义

易语言经典算法1.取所有质数2.求最小公倍数3.求最大公约数4.汉诺塔5.9X9乘法表6.猫捉老鼠(筛选法)7.水仙花数问题8.计算组合9.身份证升级15位升级到18位10.用冒泡法排序数字11.九宫计算12.奶牛问题13.求阶乘14.折半查找15.给歌手打分16.航线设置17.数字全排列18.借书方案19.求直角三角形20.二分排序21.抢3022.求回文数23.斐波那契数列(递推法)24.分块查找25.求帕斯卡三角(杨辉三角)26.箱子问题(贪婪法)27.寻找文件(递归法)28.求最大公约数(递归法)29.取不重复数(排除法)30.拉丁方31.波松瓦分酒32.皇后问题33.背包问题34.角谷猜想35.邮票组合36.贮油点37.分解质因数38.任意进制转换(大数)39.计算星期几(常用公式)40.计算星期几(蔡勒公式)41.猴子吃桃子42.马踏棋盘43.打鱼还是晒网44.九位累进可除数45.十进制转为二进制46.九连环47.找窃贼48.哥德巴赫猜想49.最小生成数50.农夫过河51.旅游最省钱路径52.马克思手稿中的数学题53.上楼梯(递归).e54.上楼梯(非递归)55.金额大小写转换56.求一元二次方程的根(二分法)57.数字与IP地址间的转换58.八皇后问题(回溯法)59.求N阶幻方60.计算分数的精确值61.找零钱62.求一元二次方程的根(公式法)63.比赛日程(分治法)64.两个有序数组的合并65.统计投色子(2个)的结果66.12小球问题67.改进冒泡排序法68.螺旋数组69.射击环数70.猜数字游戏71.桶排序72.造币厂问题73.直接插入排序74.搬砖75.公车座位巧安排76.韩信点兵(中国剩余定理)77.黑洞数78.矩阵相乘79.螺旋矩阵问题(多循环法)80.买水果问题81.求平方根82.求任意三角形面积83.全排列问题(递推法)84.怎样组合值最大85.取两数之间均匀分布的随机数算法:递归递推法分块查找筛选法枚举法冒泡法二分法贪婪法序号:001使用算法:筛选法问题:取N以内的所有质数数量并显示,问题描述:求N(N>0)个自然数中的所有质数数量,并显示问题分析:先把所有质数以外的数,打上“1“的标志,最后搜索整型数组,找出值为0的个数,就是质数的个数!备注:易语言例程:001.取所有质数.e序号:002使用算法:循环检验问题:求最小公倍数问题描述:求任意2个自然数的最小公倍数问题分析:我们只要认准一个数,先从自身开始和另一个数求余数比较,为0那么这个数就是最小公倍数,如果不为0,那么把这个数不断翻倍再比较。

五大经典算法以及案例

五大经典算法以及案例

五大经典算法以及案例
1. 排序算法:使用冒泡排序算法对一个包含10个随机整数的数组进行排序。

案例:
给定数组:[4, 9, 2, 5, 1, 8, 3, 7, 6, 10]
排序后的数组:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2. 查找算法:使用二分查找算法在一个有序整数数组中查找目标值。

案例:
给定有序数组:[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
目标值:11
查找结果:目标值在数组中的位置为5。

3. 图遍历算法:使用深度优先搜索算法遍历一个无向图。

案例:
给定无向图的邻接矩阵表示:
[0, 1, 1, 0, 0]
[1, 0, 0, 1, 1]
[1, 0, 0, 0, 1]
[0, 1, 0, 0, 0]
[0, 1, 1, 0, 0]
从节点1开始进行深度优先搜索的遍历结果:1 -> 2 -> 4 -> 3 -> 5
4. 动态规划算法:使用动态规划算法求解斐波那契数列的第n项。

案例:
求解斐波那契数列的第10项:
斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55
第10项为55。

5. 贪心算法:使用贪心算法解决背包问题。

案例:
给定背包容量为10,物品列表如下:
物品1:重量4,价值8
物品2:重量3,价值5
物品3:重量1,价值2
物品4:重量5,价值12
通过贪心算法选择物品装入背包的方案:
选择物品2,物品3,物品4装入背包,总重量为9,总价值为19。

C语言简单算法举例

C语言简单算法举例
重复以上步骤,逐次求得更精确的解。
穷举法
▪ 基本思想:首先根据问题的部分条件预估 答案的范围,然后在此范围内对所有可能 的情况进行逐一验证,直到全部情况均通 过了验证为止。若某个情况使验证符合题 目的全部条件,则该情况为本题一个答案。 若全部情况验证结果均不符合题目的全部 条件,则说明该问题无解。
转到S5 S4: 若y%100=0且y%400=0,则输出输出y”是闰年”,
否则输出“不是闰年”然后转到S5 S5: y=y+1 S6: 当y≤2500时,转至S2继续执行,否则,算法停

对于一个大于或等于3的正整数,判断它是不 是一个素数
S1: 输入n的值
S2: i=2 (i作为除数)
▪ 所谓素数,指除1和该
▪ 算法结束,变量p就是 所求结果。
举例:求5!的算法用流程图表示
开始 p=1 i=2 p=p×i i=i+1 N i>5
Y
打印 ` p
结束
求 1-1/2+1/3-1/4+…+1/99-1/100 S1:sum=1 S2:deno=2 S3:sign=1 S4:sign=(-1) ×sign S5:term=sign ×(1/deno) S6:sum=sum+term S7:deno=deno+1 S8:若deno≤100,返回S4;否则结束
简单算法举例
▪ 求1×2×3×4×5 ▪ S1: p=1
▪ S2: i=2 ▪ S3: p=p×i ▪ S4: i=i+1 ▪ S5: 若i≤5,返回S3;否则
结束
▪ 设两个变量。一个变 量p代表被乘数,一个 变量i代表乘数。不另 设变量存放乘积结果, 而直接将每一步的乘 积放在被乘数变量中。

算法案例(完整版)

算法案例(完整版)

例2 已知10b1(2)=a02(3),求数字a, b的值.
10b1(2)=1×23+b×2+1=2b+9. a02(3)=a×32+2=9a+2. 所以2b+9=9a+2,即9a-2b=7.
故a=1,b=1.
小 结
1. k进制数使用0~(k-1)共k个数字, 但左侧第一个数位上的数字(首位数字) 不为0. 2.用 an an-1 a2 a1(k ) 表示k 进制数,其中k称为基数,十进制数不标 注基数. 3. 把k进制数化为十进制数的一般算式 是: an an-1 a2 a1(k )
第一步,输入a和n的值. 第二步,令b=0,i=1. i-1 b 第三步, = b + ai ´ 2 , i=i+1. 第四步,判断i>n 是否成立.若是,则输 出b的值;否则,返回第三步.
同样地,把k进制数 a = an an-1 a2 a1(k )
化为十进制数b的算法和程序框图如何设 计? 第一步,输入a,k和n的值. 第二步,令b=0,i=1.
“更相减损术”在中国古代数学专著《 九章算术》中记述为:
可半者半之,不可半者,副置分母、 子之数,以少减多,更相减损,求其等 也,以等数约之.
例1 分别用辗转相除法和更相减损 术求168与93的最大公约数. 辗转相除法:168=93×1+75,
93=75×1+18, 75=18×4+3, 18=3×6.
a=rnrn-1„r1r0(2)
知识探究(二):十进制化k进制的算法
思考1:根据上面的分析,将十进制数a化 为二进制数的算法步骤如何设计? 第一步,输入十进制数a的值. 第二步,求出a除以2所得的商q,余数r. 第四步,若q≠0,则a=q,返回第二步; 否则,输出全部余数r排列得到 的二进制数.

随机算法最简单的例子

随机算法最简单的例子

随机算法最简单的例子-概述说明以及解释1.引言1.1 概述在编写长文《随机算法最简单的例子》之前,我们首先来谈谈文章的概述。

随机算法(Random Algorithm)是计算机科学中的一个重要概念,其核心思想是通过随机选择的方式进行计算或决策。

随机算法广泛应用于各个领域,如密码学、仿真、优化问题等。

本文旨在介绍随机算法的基本概念、原理,以及其在实际问题中的广泛应用。

首先,我们将详细定义随机算法,并解释其基本原理。

紧接着,我们将探讨随机算法在各个领域的应用,例如抛硬币问题、随机数生成器、随机洗牌算法和随机选择算法等。

通过这些具体案例的分析,我们将进一步说明随机算法的实际应用价值以及其优缺点。

最后,我们将总结随机算法的重要性、发展方向以及应用前景。

通过阅读本文,读者将能够全面了解随机算法的基本概念和原理,并且了解其在各个领域中的应用。

我们希望本文能够为读者提供一个简单明了的随机算法的入门指南,并且激发对于随机算法更深入探索的兴趣。

在随机算法的广阔领域中,随机选择了本文的出现,希望读者在阅读过程中也能够感受到这种随机性带来的惊喜和创造力。

让我们开始探索随机算法的奇妙世界吧!1.2 文章结构文章结构部分的内容:本文主要分为四个部分:引言、正文、案例分析和结论。

下面将对每个部分进行简要介绍。

在引言部分,首先对随机算法进行概述,指出随机算法是指一种具有随机性质的算法。

接着介绍文章的结构,即分为引言、正文、案例分析和结论四个部分。

然后说明本文的目的,即探索随机算法的最简单的例子,并指出通过分析这些例子,可以更好地理解随机算法的定义、原理、应用以及它们的优缺点。

最后进行总结,概括了本文的主要内容和观点。

在正文部分,我们将详细介绍随机算法的定义、原理、应用以及它们的优缺点。

首先,阐述随机算法的定义,即一种具有随机性质的算法,可以生成一系列不确定的结果。

其次,解释随机算法的原理,包括随机数生成器的原理、随机洗牌算法的原理和随机选择算法的原理。

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

1.3算法案例 课件-高一数学人教A版必修3
f (x) 4x5 2x4 3.5x3 2.6x2 1.7x 0.8
用秦九韶算法求这个多项式当x=5时的值。
解:根据秦九韶算法,把多项式改写成如下 形式:
f (x) ((((4x 2)x 3.5)x 2.6)x 1.7)x 0.8
按照从内到外的顺序,依次计算一次多项式当 x=5时的值:
WHILE d<>n
IF d>n THEN m=d
ELSE m=n
n=d
END IF d=m-n WEND d=2^k*d
PRINT d
END
问题2:怎样求多项式 f (x) x5 x4 x3 x2 x 1当x=5 的值呢?
方法1:把5代入多项式,计算各项的值,然后把它们加 起来。这时共做了1+2+3+4=10次乘法运算,5 次加法运算。
例1:用更相减损术求98与63的最大公约数。
解:由于63不是偶数,把98和63以大数减小数, 并辗转相减得,如图所示:
98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7
所以,98和63的最大公约数等于7。
思考:把更相减损术与辗转相除法比较,你有什么
发现?你能根据更相减损术设计程序,求两个正数的 最大公约数吗?
v1 an x an1
然后由内向外逐层计算一次多项式的值,即
v2 v1 x an2 ,
v3 v2 x an3 ,
vn vn1 x a0 ,
这样,求n次多项式f(x)的值就转化为求n个一次多项 式的值。
上述方法称为秦九韶算法。直到今天, 这种算法仍是 多项式求值比较先进的算法。
例2、已知一个5次多项式为
⑤十进制化k进制

SIMPLE算法及计算例子

SIMPLE算法及计算例子

SIMPLE算法及计算例子简单算法是一种基础的计算方法或步骤,可以帮助解决一些基本的数学问题。

下面我将介绍一些简单算法,并列举计算例子以帮助理解。

1.线性算法:线性算法是一种直接遍历的算法,用于在一个给定的列表中寻找特定的值。

算法的步骤如下:-从列表的第一个元素开始,依次检查每个元素,直到找到与目标值匹配的元素。

-如果找到匹配的元素,返回该元素的索引;如果列表中不存在目标值,返回-1例子:在给定列表[5,3,8,4,2,9,1]中查找目标值为8的元素。

-开始时,检查第一个元素5,不匹配。

-继续检查第二个元素3,不匹配。

-检查第三个元素8,与目标值匹配,返回索引22.二分算法:二分算法是一种用于有序列表的算法,通过将列表分成两半来查找目标值。

算法的步骤如下:-比较目标值与列表的中间元素。

-如果目标值等于中间元素,则返回其索引。

-如果目标值小于中间元素,则在前半部分继续。

-如果目标值大于中间元素,则在后半部分继续。

-重复上述步骤,直到找到匹配的元素或确定目标值不存在。

例子:在给定有序列表[1,2,3,4,5,8,9]中查找目标值为8的元素。

-开始时,将列表分为两半,中间元素是4-目标值8大于中间元素4,继续在后半部分。

-后半部分中间元素是8,与目标值匹配,返回索引53.冒泡排序算法:冒泡排序算法是一种简单的排序算法,通过多次遍历比较相邻元素并交换位置来实现。

算法的步骤如下:-从列表的第一个元素开始,比较其与下一个元素的大小。

-如果前一个元素大于后一个元素,则交换它们的位置。

-继续遍历列表,重复上述步骤,直到没有需要交换的元素为止。

例子:对给定列表[3,1,4,2,5]进行冒泡排序。

-第一次遍历:比较3和1,交换位置,得到[1,3,4,2,5]。

-继续比较3和4,不交换位置。

-比较4和2,交换位置,得到[1,3,2,4,5]。

-继续比较4和5,不交换位置。

-第二次遍历:重复上述步骤,得到[1,2,3,4,5]。

算法案例(第一课时)

算法案例(第一课时)

例3 用更相减损术求98与63的最大公约数
解:由于63不是偶数,把98和63以大数减小数,
并辗转相减
98-63=35
63-35=28
35-28=7
28-7=21
Байду номын сангаас21-7=14
14-7=7
所以,98和63的最大公约数等于7
练习:
课本P35练习第1题
第一步 用两数中较大的数除以较小的数,求得商和余数 8251=6105×1+2146 结论: 8251和6105的公约数就是6105和2146的公约数, 求8251和6105的最大公约数,只要求出6105和2146的公 约数就可以了。
为什么呢?
第二步 对6105和2146重复第一步的做法6105=2146×2+1813 同理6105和2146的最大公约数也是2146和1813的最大公约数。
辗转相除法是一个反复执行直到余数等于0停止的步骤,
这实际上是一个循环结构。
m=n×q+r
用程序框图表示出右边的过程
8251=6105×1+2146
r=m MOD n m=n n=r
r=0?


6105=2146×2+1813 2146=1813×1+333 1813=333×5+148
333=148×2+37 148=37×4+0
思考:从上述的过程你体会到了什么?
完整的过程
例2 用辗转相除法求225和135的最大公约数
8251=6105×1+2146
225=135×1+90
6105=2146×2+1813
135=90×1+45

课件10:1.3 算法案例(一)

课件10:1.3 算法案例(一)

v5=2826.2×5-0.8=14130.2. 所以当 x=5 时,多项式的值等于 14130.2.
名师提醒 (1)用秦九韶算法求多项式 f(x)当 x=x0 的值的思路为: ①改写.②计算vv0k==vakn-,1x0+an-kk=1,2,…,n. ③结论 f(x0)=vn. (2)应用秦九韶算法计算多项式的值应注意的 3 个问题 ①要正确将多项式的形式进行改写. ②计算应由内向外依次计算. ③当多项式函数中间出现空项时,要以系数为零的齐次项补充.
课堂归纳小结 1.求两个正整数的最大公约数的问题,可以用辗转相除法, 也可以用更相减损术.用辗转相除法,即根据 a=nb+r 这 个式子,反复相除,直到 r=0 为止;用更相减损术,即根 据 r=|a-b|这个式子,反复相减,直到 r=0 为止. 2.秦九韶算法的关键在于把 n 次多项式转化为一次多项式, 注意体会递推的实现过程,实施运算时要由内向外,一步一 步执行.
[针对训练 1] 用辗转相除法求 80 与 36 的最大公约数, 并用更相减损术检验你的结果. [解] 80=36×2+8, 36=8×4+4,8=4×2+0, 即 80 与 36 的最大公约数是 4. 验证: 80÷2=40,36÷2=18; 40÷2=20,18÷2=9;
20-9=11,11-9=2; 9-2=7,7-2=5; 5-2=3,3-2=1; 2-1=1,1×2×2=4; 所以 80 与 36 的最大公约数为 4.
(2)秦九韶算法的操作方法 ①算法步骤如下 第一步,输入多项式次数 n、最高次项的系数 an 和 x 的值. 第二步,将 v 的值初始化为 an,将 i 的值初始化为 n-1. 第三步,输入 i 次项的系数 ai. 第四步,v= vx+ai ,i= i-1 . 第五步,判断 i 是否大于或等于 0.若是,则返回第三步; 否则,输出多项式的值 v.

算法案例 - 简单 - 讲义

算法案例 - 简单 - 讲义

算法案例知识讲解一、更相减损术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 ----=++++,则递推公式为01nkk 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)212n 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 进制数110110(0,0,,)n n n n a a a a a K a a a K --<<≤< 化为十进制数的方法为1110()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,+∞)2.(2015•醴陵市)下列图象表示的函数中,不能用二分法求零点的是()A.B.C.D.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.54.(2017秋•辽阳县期末)方程x3﹣x﹣3=0的实数解落在的区间是()A.[﹣1,0]B.[0,1]C.[1,2]D.[2,3]5.(2015春•淄博期末)根据表格内的数据,可以断定方程e x﹣x﹣2=0的一个根所在的区间是()A.(﹣1,0)B.(0,1) C.(1,2) D.(2,3)二.填空题(共4小题)6.(2013•闵行区二模)用二分法研究方程x3+3x﹣1=0的近似解x=x0若精确到0.1,至少运算n次,则n+x0的值为.7.某同学求“方程x3=﹣x+1的根x0所在区间D”时,设函数f(x)=x3+x﹣1,算得f(﹣1)<0,f(1)>0;在以下的过程中,他用“二分法”又取3个值,分别是x1,x2,x3,就能确定区间D,则区间D是.8.(2016秋•亭湖区校级月考)若函数f(x)=x3+3x﹣1在区间[n,n+1)(n∈Z)上有零点,则n=.9.函数f(x)=x2+ax+b有零点,但不能用二分法求出,则a,b的关系是.三.解答题(共3小题)10.关于x的方程2x2﹣3x﹣2k=0在(﹣1,1)内有一个实根,求实数k的取值范围.11.某市A地到B地的电话线路发生故障,这是一条10km长的线路,每隔50m 有一根电线杆,如何迅速查出故障所在?12.设计二分法算法,求方程x3﹣x﹣1=0在区间[1,1.5]内的解(精度为0.01).。

高中数学必修3讲义 专题1.3 算法案例

高中数学必修3讲义 专题1.3 算法案例

1.求两个正整数的最大公约数的算法 (1)辗转相除法①定义:辗转相除法是用于求_____________的最大公约数的一种算法,这种算法是由欧几里得在公元前300年左右首先提出的,因而又叫欧几里得算法.就是对于给定的两个正整数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数构成一对新数,继续上面的除法,直到余数为零,则这时较小的数就是原来两个数的最大公约数. ②算法步骤用辗转相除法求两个正整数的最大公约数,其算法步骤如下: 第一步,给定两个正整数,m n . 第二步,计算m 除以n 所得的余数r . 第三步,,m n n r ==.第四步,若0r =,则,m n 的最大公约数等于m ;否则,返回第二步. ③程序框图如图所示:④程序如下:INPUTm,nDOr=m MOD nm=nn=rLOOP UNTIL r=0PRINT mEND 或INPUT m,nr=1While r>0r=m MOD nm=nn=rWENDPRINT mEND(2)更相减损术①定义:中国古代的数学专著《九章算术》中记载着“更相减损术”,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之.”②算法步骤第一步,任意给定两个正整数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.③程序框图④程序如下:2.秦九韶算法(1)定义及原理:把一个n 次多项式1110()n n n n f a x a x x a x a --=++⋅⋅⋅++改写成如下形式:2110()((()))n n n f a x a x x a x a x a --=⋅⋅⋅+++⋅⋅+⋅+.求多项式的值时,首先计算最内层括号内一次多项式的值,即11n n v a x a -=+,然后由内向外逐层计算一次多项式的值,即212323,n n v v x a v v x a --=+=+,…,10n n v v x a -=+,这种求n 次多项式()f x 的值的方法叫做秦九韶算法.(2)秦九韶算法程序化的可行性探讨:观察秦九韶算法中的n 个一次式,可见计算k v 时要用到1k v -的值,若令0n v a =,我们可以得到下面的递推公式:0____________(1,2,,)n kv a v k n =⎧⎨==⋅⋅⋅⎩.这是一个在秦九韶算法中反复执行的步骤,可以用循环结构来实现. (3)算法步骤第一步,输入多项式次数n 、最高次项的系数n a 和x 的值. 第二步,将v 的值初始化为n a ,将i 的值初始化为n -1. 第三步,输入i 次项的系数i a . 第四步,,1i v vx a i i =+=-.第五步,判断i是否大于或等于0.若是,则返回第三步;否则,输出多项式的值v.(4)程序框图如图所示:(5)程序如下:INPUT “n=”;nINPUT “an=”;aINPUT “x=”;xv=ai=n-1WHILE i>=0PRINT “i=”;iINPUT “ai=”;av=v*x+ai=i-1WENDPRINT vEND3.进位制(1)定义:进位制是人们为了计数和运算方便而约定的记数系统,约定满二进一,就是二进制;满十进一,就是十进制;满六十进一,就是六十进制;等等.也就是说,“满几进一”就是几进制,几进制的基数就是几.一般地,若k 是一个大于1的整数,那么以k 为基数的k 进制数可以表示为一串数字连写在一起的形式:1210()110110(,,,,,0<,0,,,)n n n k n n n n a a a a a a a a a a k a a a k ----⋅⋅⋅⋅⋅⋅∈<≤⋅⋅⋅<N .说明:①若一个数为十进制数,其基数可以省略不写.②若是其他进位制的数,在没有特别说明的前提下,其基数必须写出,常在数的右下角标明基数. (2)将k 进制数转化为十进制数 ①算法步骤:计算k 进制数a 的右数第i 位数字i a 与1i k -的乘积1i i a k -⋅,再将其累加,这是一个重复操作的步骤.所以,可以用循环结构来构造算法,算法步骤如下: 第一步,输入,a k 和n 的值.第二步,将b 的值初始化为0,i 的值初始化为1. 第三步,1,1i i b b a k i i -=+⋅=+.第四步,判断i n >是否成立.若是,则执行第五步;否则,返回第三步. 第五步,输出b 的值. ②程序框图如图所示:③程序如下:(3)将十进制数转化为k 进制数 ①转化方法:十进制数化为k 进制数用____________,即先把十进制数a 除以k ,商为0q ,余数为0r ,再把0q 除以k ,商为1q ,余数为1r ,…,反复进行这种除法,直到商1n q -除以k 所得的商为0,余数是n r ,即1n n q r -=为止,此时将所有余数按从右到左排列就得到所要求的k 进制数10()n n k r r r -⋅⋅⋅. ②算法步骤:第一步,给定十进制正整数a 和转化后的数的基数k . 第二步,求出a 除以k 所得的商q ,余数r . 第三步,把得到的余数依次从右到左排列.第四步,若0q ≠,则a q =,返回第二步;否则,输出全部余数r 排列得到的k 进制数. ③程序框图如图所示:④程序如下:INPUT “a,k=”;a,kb=0i=0DOq=a\kr=a MOD kb=b+r*10^ii=i+1a=qLOOP UNTIL q=0PRINT bENDK知识参考答案:1.(1)两个正整数2.(2)1k n k v x a --+3.(3)①除k 取余法K —重点 辗转相除法、更相减损术、秦九韶算法、进位制 K —难点 用秦九韶算法求多项式的值,进位制间的转换 K —易错易对秦九韶算法中的运算次数理解错误1.辗转相除法与更相减损术辗转相除法与更相减损术有着相同的算法依据,但要注意运算过程的差别. 两者的区别是:(1)辗转相除法进行的是除法运算,即辗转相除,更相减损术进行的是减法运算,即辗转相减,但其实质都是一个不断的递推过程.(2)辗转相除法,下一次进行相除时,由上一次的除数和余数直接相除即可.而更相减损术下一次相减前必须有一个判断大小的过程,以区别谁做被减数.注意:用更相减损术求两正整数的最大公约数时,若两数为偶数,可先约去2,这时莫忘记求得的相等两数乘以约简的数才是所求的最大公约数.【例1】用辗转相除法和更相减损术求840与1764的最大公约数. 【答案】840与1764的最大公约数是84. 【解析】辗转相除法: 1764=840×2+84, 840=84×10+0,∴840与1764的最大公约数是84. 更相减损术: 1764–840=924, 924–840=84, 840–84=756,756–84=672, 672–84=588, 588–84=504, 504–84=420, 420–84=336, 336–84=252, 252–84=168, 168–84=84,∴840与1764的最大公约数是84.【例2】利用辗转相除法求3869与6497的最大公约数. 【答案】3869与6497的最大公约数为73.【名师点睛】辗转相除法计算次数少,而更相减损术计算次数多,但是更相减损术每一步的计算都是减法,比做除法运算要简单一些,所以一般当数较小时考虑用更相减损术,当数较大时考虑用辗转相除法. 2.秦九韶算法秦九韶算法的实质是:求多项式1110()n n n n f a x a x x a x a --=++⋅⋅⋅++的值时,转化为求n 个一次多项式的值,共进行n 次乘法运算和n 次加法运算.这种算法的运算次数较少,是多项式求值比较先进的算法. 【例3】 用秦九韶算法计算多项式f (x )=12+35x –8x 2+79x 3+6x 4+5x 5+3x 6在x =–4时的值时,V 3的值为A .–845B .220C .–57D .34【答案】C【解析】∵多项式f (x )=12+35x –8x 2+79x 3+6x 4+5x 5+3x 6=(((((3x +5)x +6)x +79)x –8)x +35)x +12, 当x =–4时,∴v 0=3,v 1=3×(–4)+5=–7,v 2=–7×(–4)+6=34,v 3=34×(–4)+79=–57.故选C . 【例4】用秦九韶算法计算函数f (x )=2x 4+3x 3+5x –4在x =2时的函数值.【答案】62【名师点睛】利用秦九韶算法计算多项式的值的策略:(1)正确地将多项式改写,若在多项式中有几项不存在,可将这些项的系数看成0,即把这些项看做0n x ⨯. (2)由内向外逐次计算.(3)每一步计算结果准确,由于下一次计算用到上一次计算的结果,应认真、细致地计算每一步. 3.进位制把一个非十进制数转化为另一种非十进制数,通常是把这个数先转化为十进制数,然后再利用除k 取余法,把十进制数转化为k 进制数. 【例5】将八进制数127(8)化为十进制数. 【答案】87【解析】()21081271828786416787=⨯+⨯+⨯=++=.【例6】已知一个k 进制的数123(k )与十进制的数38相等,求k 的值. 【答案】5【解析】将转化为十进制,()210212312323k k k k k k =⨯+⨯+⨯=++, 由题意,得k 2+2k +3=38, 所以k 2+2k –35=0, 所以k =5或k =–7(舍) 所以k =5.【名师点睛】除k 取余法的两个关注点:①要连续除:用k 连续去除十进制数或所得的商,直到商为零为止. ②若是其他进位制的数,在没有特别说明的前提下,其基数必须写出,常在数的右下角标明基数.1.秦九韶算法的先进性主要体现在减少运算次数,下列说法正确的是A .可以减少加法运算次数B .可以减少乘法运算次数C .同时减少加法和乘法的运算次数D .加法次数和乘法次数都有可能减少2.用秦九韶算法求多项式652()7632f x x x x =+++,当4x =时的值,先算的是A .4×4=16B .7×4=28C .4×4×4=64D .7×4+6=34 3.把十进制的23化成二进制数是A .00 110(2)B .10 111(2)C .10 1111(2)D .11 101(2)4.若十进制数26等于k 进制数32,则k 等于A .4B .5C .6D .85.用更相减损术求294和84的最大公约数时,需要做减法的次数是A .3B .4C .5D .66.1 037和425的最大公约数是A .51B .17C .9D .37.已知多项式54321()4322f x x x x x x =++---,用秦九韶算法求(2)f -等于 A .1972-B .1972C .1832D .1832-8.用更相减损术求156与91的最大公约数时,需要做减法的次数是__________. 9.将45(6)改写成十进制数为__________.10.用秦九韶算法计算多项式5432()54321f x x x x x x =+++++当4x =时的值时,乘法运算的次数为__________.11.用更相减损术求288与153的最大公约数.12.用秦九韶算法求多项式5432()3532f x x x x x x =-+-+当2x =时的值.13.在下列四个数中,最小的数是A .(9)85B .(6)210C .(4)1000D .(2)11111114.用秦九韶算法计算多项式65432()256238103f x x x x x x x =+++-+-当4x =-时的值时,3v 的值为A .742-B .49-C .18D .18815.若98与63的最大公约数为a ,二进制数(2)110011化为十进制数为b ,则a b +=A .53B .54C .58D .6016.用更相减损术求123和48的最大公约数是A .3B .7C .9D .1217.计算机是将信息转换成二进制处理,二进制即“逢二进一”,如(2)1101表示二进制数.将它转化成十进制形式是32101212021213⨯+⨯+⨯+⨯=,那么将二进制数1611111个(2)转换成十进制形式是A .217-2B .216-2C .216-1D .215-118.在下列各数中,最大的数是A .(9)85B .(6)210C .(4)1000D .(2)1111119.完成进位制之间的转化:(5)413=__________(7). 20.(1)把八进制数()87341化为十进制数;(2)把1285化为16进制数.21.先将412(5)化成十进制的数,然后用“除k取余法”再化成七进制的数.22.用辗转相除法和更相减损术求261与319的最大公约数.1 2 3 4 5 6 7 13 14 15 16 17 18B D B D B B A D BC A C B1.【答案】B【解析】通过对秦九韶算法的理解,可知它的主要作用是减少乘法的次数,将原来的乘法次数由(1)2n n +减少到n ,而对加法没有影响.故选B . 2.【答案】D3.【答案】B【解析】23÷2=11…1,11÷2=5…1,5÷2=2…1,2÷2=1…0,1÷2=0…1,故23(10)=10111(2).故选B . 4.【答案】D【解析】由题意知,10 2632k k =⨯+⨯,解得8k =.故选D . 5.【答案】B【解析】()()()()()294,84210,84126,8484,4242,42→→→→. 6.【答案】B【解析】∵1 037=425×2+187,425=187×2+51,187=51×3+34,51=34×1+17,34=17×2,即1 037和425的最大公约数是17. 7.【答案】A【解析】∵1()((((43)2)1)1)2f x x x x x x =++---,∴197(2)2f -=-.8.【答案】5【解析】求最大公约数的过程如下:1569165-=,916526-=,652639-=,392613-=,261313-=.故13是最大公约数,共进行了5次减法运算. 9.【答案】29(10)【解析】由于45(6)=4×61+5×60=29(10).故答案为:29(10). 10.【答案】5【解析】5432((((54)3)2)1()54321)1f x x x x x x x x x x x =++++++++++=,不难发现要经过5次乘法,5次加法运算. 11.【答案】详见解析.【解析】288-153=135,153-135=18,135-18=117,117-18=99,99-18=81,81-18=63,63-18=45,45-18=27,27-18=9,18-9=9. 因此288与153的最大公约数为9. 12.【答案】详见解析.13.【答案】D【解析】因为(9)8589577=⨯+=,2(6)210261678=⨯+⨯=,3(4)10001464=⨯=,543210(2)11111122222263=+++++=,所以最小的数是(2)111111.故选D .14.【答案】B【解析】65432()256238103f x x x x x x x =+++-+- (((((25)6)23)8)10)3x x x x x x =+++-+-,则010212,52(4)53,63(4)618v v v x v v x ==+=⨯-+=-=+=-⨯-+=,322318(4)v v x =+=⨯-2349+=-,故选B . 15.【答案】C【解析】∵9816335=⨯+,6313528=⨯+,351287=⨯+,2874=⨯,∴98和63的最大公约数是7,即7a =.二进制数(2)110011化为十进制数为54321012120202121251⨯+⨯+⨯+⨯+⨯+⨯=,即51b =,则58a b +=.故选C . 16.【答案】A【解析】123-48=75,75-48=27,48-27=21,27-21=6,21-6=15,15-6=9,9-6=3,6-3=3,所以123和48的最大公约数是3. 17.【答案】C【解析】161111个(2)1514016=12+12++12=21⨯⨯⨯-.18.【答案】B19.【答案】213【解析】∵012(5)41335154535425108=⨯+⨯+⨯=++⨯=,012108371727=⨯+⨯+⨯,∴(7)(5)421313=.20.【答案】(1)3809;(2)()16505.【解析】(1)()87341=3210783848183809⨯+⨯+⨯+⨯=;(2)用16连续去除1285,直到商为0为止,所得到的余数依次从右向左排列,就得到()161285505=. 21.【答案】详见解析.【解析】412(5)=2×50+1×51+4×52=2+5+4×25=107, ∵107=7×15+2, 15=7×2+1, 2=7×0+2.∴把5进制的数412(5)化为7进制是212(7). 22.【答案】详见解析.【解析】辗转相除法: 319=261×1+58, 261=58×4+29, 58=29×2,所以261与319的最大公约数为29.。

算法案例(一)课件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 试用程序框图和程序表述更相减损术. 解 程序框图:

4.1.3算法实例

4.1.3算法实例

实践学习
• 分析问题:
如果将笼子里的每只动物减去两只脚,剩下的是每只 兔子的两只脚的和,再除以2就得到兔子的只数。
1、自然语言描述:
•设动物的头为h,脚数为f,r表示兔子数,c表 示鸡数, •则数学表达式为:
•兔子数 r=(f-2h)/2 •鸡 数 c=h-r
实践学习
2、用流程图描述算法:
开始 输入h,f r=(f-2*h)/2 c=h-r 输出r,c
仓库,结果甲仓库还比乙仓库多3筐。求两个仓库原来各存放多
少筐苹果?
(4)求2+4+6+···+100的值。
枚举法
枚举法的算法思想:
利用计算机运算速度快的特点,对要解决问题中的所有可
能答案一一列举,并进行判断,满足条件的保留,不满
足的丢弃,最后得到符合要求的答案。
实践学习
若某三位数等于它每一位上数字的立方之和,就 称这类数为“水仙花数”(如:153=13+53+33)。 请找出所有的“水仙花数”。
1、描述算法的方法有哪些?
自然语言 流程图 计算机语言
N-S流程图
伪代码
程序框
名称 起止框
功能 表示算法的开始和结束
处理框
表示执行一个步骤
判断框
输入输出框
流程线
表示要根据条件选择执行路线
表示需要用户输入或由 计算机自动输出的信息
指示流程的方向
A B
顺序结构
条件成立? 否

Aቤተ መጻሕፍቲ ባይዱ
B
分支结构
条件成立?否 是
结束
实践学习
3、用画程软件生成代码运行:
探究学习1
R R1 R2
  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的一个根所在的区间是()
A.(﹣1,0)B.(0,1) C.(1,2) D.(2,3)
【解答】解:由上表可知,
令f(x)=e x﹣x﹣2,
则f(﹣1)≈0.37+1﹣2<0,
f(0)=1﹣0﹣2=﹣1<0,
f(1)≈2.72﹣1﹣2<0,
f(2)≈7.39﹣2﹣2>0,
f(3)≈20.09﹣3﹣2>0.
故f(1)f(2)<0,
故选:C.
二.填空题(共4小题)
6.(2013•闵行区二模)用二分法研究方程x3+3x﹣1=0的近似解x=x0
若精确到0.1,至少运算n次,则n+x0的值为 5.3.
【解答】解:根据运算得下表:
因为f(0.3125)<0,且f(0.34375>0,
满足f(0.3125)×f(0.34375)<0,
且区间长度:0.34375﹣0.3125=0.03125<0.1,
∴n=5,x0=0.3,n+x0=5.3.
故答案为:5.3.
7.某同学求“方程x3=﹣x+1的根x0所在区间D”时,设函数f(x)=x3+x﹣1,算得f(﹣1)<0,f(1)>0;在以下的过程中,他用“二分法”又取3个值,分别是x1,x2,x3,就能确定区间D,则区间D是(0.5,0.75).
【解答】解:设f(x)=x3+x﹣1,算得f(﹣1)<0,f(1)>0,由f(0)=﹣1<0,f(1)=1>0,可知方程必有一根在区间(0,1)内;再由f(0.5)=﹣0.375<0,可知方程必有一根在区间(0.5,1)内;f(0.75)>0,可知方程必有一根在区间(0.5,0.75)内.
故答案为:(0.5,0.75).
8.(2016秋•亭湖区校级月考)若函数f(x)=x3+3x﹣1在区间[n,n+1)(n∈Z)上有零点,则n=0.
【解答】解:由f(0)=0+0﹣1=﹣1<0,f(1)=1+3﹣1=3>0及零点定理知,f(x)的零点在区间(0,1)上,两端点为连续整数
∴零点所在的一个区间[n,n+1)(k∈Z)是(0,1)
∴n=0,
故答案为:0.
9.函数f(x)=x2+ax+b有零点,但不能用二分法求出,则a,b的关系是a2﹣4b=0.
【解答】解:函数f(x)=x2+ax+b有零点,但不能用二分法求出,
说明函数是二次函数,函数的图象与x轴有一个交点,
即△=a2﹣4b=0
故答案为:a2﹣4b=0.
三.解答题(共3小题)
10.关于x的方程2x2﹣3x﹣2k=0在(﹣1,1)内有一个实根,求实数k的取值范围.
【解答】解:设f(x)=2x2﹣3x﹣2k,则
∵关于x的方程2x2﹣3x﹣2k=0在(﹣1,1)内有一个实根,
∴f(﹣1)f(1)<0或f(1)=0或△=0,
即(2+3﹣2k)(2﹣3﹣2k)<0或k=﹣或k=﹣.
∴(5﹣2k)(﹣1﹣2k)<0
∴﹣≤k<或k=﹣.
11.某市A地到B地的电话线路发生故障,这是一条10km长的线路,每隔50m 有一根电线杆,如何迅速查出故障所在?
【解答】解:由于10km=10 000m,
故有200根电线杆.从中间开始取如果是好的向右去,如果是坏的向左取,以、
等为间断点,也就是运用“二分法”的原理进行快速判断.
12.设计二分法算法,求方程x3﹣x﹣1=0在区间[1,1.5]内的解(精度为0.01).【解答】解:函数f(x)=x3﹣x﹣1=0在区间[1,1.5]上连续,
且f(1)=1﹣1﹣1<0,f(1.5)=0.875>0;
故函数f(x)=x3﹣x﹣1在区间[1,1.5]内内必有零点;
列表如下,如下:
这个零点的近似值为1.32.。

相关文档
最新文档