1.3算法案例1
1.3算法案例(进位制)(yong)

思考:生活最常见的进位制是什么?除此之外还有
哪些常见的进位制?请举例说明. • 最常见的进位制应该是我们数学中的十进制,比 如一般的数值计算,但是并不是生活中的每一种 数字都是十进制的. • 古人有半斤八两之说,就是十六进制与十进制的 转换. • 比如时间和角度的单位用六十进制, 计算“一打” 数值时是12进制的。 • 电子计算机用的是二进制 。
思考:其它进制是否也有类似的规律呢?
八进制
7342(8) =783+382+48+2 110011(2)=125+124+023 +022+12+1
二进制
一般地,若k是一个大于1的整数,那么以k为基 数的k进制可以表示为以下形式:
a n a n 1 a 1 ( k ) ( 0 a n k , 0 a 1 , , a n 1 k ).
a×82+b×8+c=c×72+b×7+a,得:63a+b﹣48c=0, b=3(16c﹣21a), 由此知b是三的倍数,且是整数, ∴b=0,3,6, 21 a 当b=0时,可得c= 1 6 又1≤a≤6,检验知,不存在符合条件的a使得c是整数,
当3时,得c=
当b=6时,得c=
21a 1 16
开始
输入a ,k,n b=0 i=1
把a的右数第i位数字赋给t b=b+t*ki-1 i=i+1
否
i>n
是
输出结果b 结束
三、十进制化为k进制 思考:既然,k进制转化为十进制有前述的方法与 相应的算法,那么十进数又是如何才能转化为k进 数呢? 回想:a=anan-1…a2a1(k) =ankn-1+an-1kn-2+ …+a2k+a1 =b
§1.3算法案例

为了区别进制,我们就用下 标(k)表示k进制数
an k
n1
an1 k
n 2
a3 k a2 k a1
2
下面我们来用一个具体的例子来分析:
例3.将二进制数110 011(2)化成十进制数
解 根据k进制数的实际意义,我们可以这样来转换:
110011(2) 1 2 1 2 0 2 0 2 1 2 1 2 1 32 1 16 1 2 1 51
已知一个5次多项式为
f ( x) 4x 2x 3.5x 2.6x 1.7 x 0.8
5 4 3 2
当
x5
用秦九韶算法求这个多项式的值。
根据秦几韶算法,把多项式改写成如下形式: f ( x) ((((4 x 2) x 3.5) x 2.6) x 1.7) x 0.8 按照从内到外的顺序,依次计算一次多项式当绵值: v0 4; v1 4 5 2 22; v2 22 3.5 113.5; v3 113.5 5 2.6 564.9; v4 564.9 5 1.7 2826.2; v5 2826.2 5 0.8 14130.2. 所以,当x 5时, 多项式的值等于14130.2.
3. 已知一个5次多项式为
f ( x) 5x 2x 3.5x 2.6x 1.7 x 0.8
5 4 3 2
用秦九韶算法求这个多项式当
x5
时的值。
思考:(1)上式计算时需要多少次乘法计 算?多少次加法计算? (2)在利用秦九韶算法计算n次多项式 当时需要多少次乘法计算和多少次加法计算?
f ( x) an xn an1xn1 an2 xn2 a1x a0 把一个多项式
1.3算法案例(进位制)

第二、它有“权位”,即从右往左为个位、十位、 百位、千位等等。 例如:3721
表示有:1个1,2个十, 7个百即7个10的平方, 3个千即3个10的立方
3721 3 10 7 10 2 10 110
3 2 1
0
其它进位制的数又是如何的呢?
2、 二进制
(1)二进制的表示方法
二进制是用0、1两个数字来描述的。如11001等 区分的写法:11001(2)或者(11001)2
算法案例三
一、进位制 1、什么是进位制? 2、最常见的进位制是什么?除此之外还有哪 些常见的进位制?请举例说明.
进位制是人们为了计数和运算方便而约定的记数 系统。
1、我们了解十进制吗?所谓的十进制,它是如何 构成的? 十进制由两个部分构成
第一、它有0、1、2、3、4、5、6、7、8、9十个 数字; (用10个数字来记数,称基数为10)
注意: 1.最后一步商为0, 2.将上式各步所得的余数从下到上排列,得到:89=1011001(2)
练习
将下面的十进制数化为二进制数?
(1)10 (2)20 (3)128
3、十进制转换为其它进制
例3 把89化为五进制数 解: 根据除k取余法 以5作为除数,相应的除法算式为:
5
5
89
17 3 5 0
余数
4 2 3
所以,89=324(5)。
1、将111101(2)转化成十进制数
2、将48转化成二进制数 3、将389转化成四进制数
4、将387(9)转化成十进制数
5、将1011101(2)转化成八进制数
小结与作业
1、进位制的概念
2、掌握二进制与十进制之间的转换
3. 十进制与K进制之间的转换
【志鸿全优设计】2013-2014学年高中数学 1.3算法案例(第1课时)目标导学 新人教A版必修3

第一课时辗转相除法与更相减损术、秦九韶算法1.理解辗转相除法与更相减损术的含义,了解其执行过程,并会求最大公约数.2.掌握秦九韶算法的计算过程,了解它提高计算效率的实质,并会求多项式的值.3.进一步体会算法的基本思想.1.辗转相除法与更相减损术(1)辗转相除法.①算法步骤:第一步,给定两个正整数m,n.第二步,计算m除以n所得的余数r.第三步,m=n,n=r.第四步,若r=__,则m,n的最大公约数等于m;否则返回第__步.②程序框图如图所示.③程序:INPUT m,nDOr=m MOD nm=nn=rLOOP UNTIL ____PRINT __END(2)更相减损术.算法分析:第一步,任意给定两个正整数,判断它们是否都是____.若是,用__约简;若不是,执行第二步.第二步,以较大的数__去较小的数,接着把所得的差与较小的数比较,并以__数减__数.继续这个操作,直到所得的差与减数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.【做一做1】用更相减损术求294和84的最大公约数时,第一步是__________.2.秦九韶算法(1)概念:求多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0的值时,常用秦九韶算法,这种算法的运算次数较少,是多项式求值比较先进的算法,其实质是转化为求n个____多项式的值,共进行__次乘法运算和__次加法运算.其过程是:改写多项式为:f(x)=a n x n+a n-1x n-1+…+a1x+a0=(a n x n-1+a n-1x n-2+…+a1)x+a0=((a n x n-2+a n-1x n-3+…+a2)x+a1)x+a0=…=(…((a n x+a n-1)x+a n-2)x+…+a1)x+a0.设v1=__________,v2=v1x+a n-2,v3=v2x+a n-3,…,v n=____________.(2)算法步骤:第一步,输入多项式的次数n、最高次项的系数a n和x的值.第二步,将v的值初始化为a n,将i的值初始化为n-1.第三步,输入i次项的系数a i.第四步,v=vx+a i,i=____.第五步,判断i是否大于或等于__.若是,则返回第三步;否则,输出多项式的值__.(3)程序框图如图所示.(4)程序:INPUT “n=”;nINPUT “an=”;aINPUT “x=”;xv=ai=n-1WHILE ______PRINT “i=”;iINPUT “ai=”;av=________i=i-1WENDPRINT __ END【做一做2】 设计程序框图,用秦九韶算法求多项式的值,所选用的结构是( ) A .顺序结构B .条件结构C .循环结构D .以上都有答案:1.(1)①0 二 ③r =0 m (2)偶数 2 减 大 小 【做一做1】 用2约简 由于294和84都是偶数,先用2约简.2.(1)一次 n n a n x +a n -1 v n -1x +a 0 (2)i -1 0 v (4)i >=0 v x +a v 【做一做2】D1.更相减损术与辗转相除法的区别与联系 剖析:如表所示.辗转相除法更相减损术区别①以除法为主.②两个整数差值较大时运算次数较少.③相除余数为零时得结果. ①以减法为主.②两个整数的差值较大时,运算次数较多. ③相减,差与减数相等得结果. ④相减前要做是否都是偶数的判断.联系 ①都是求最大公约数的方法.②二者的实质都是递归的过程.③二者都要用循环结构来实现. 2.秦九韶算法是比较先进的算法剖析:计算机的最重要特点就是运算速度快.2003年2月26日,以色列科学家宣布研制出一台依靠DNA 运行、速度达每秒运算330万亿次的生物计算机.这种计算机的运算速度比现在普通计算机的运算速度要快10万倍,但是即便如此,计算机也不是万能的.同一个问题有多种算法,如果某个算法比其他算法的步骤少,运算的次数少,那么这个算法就是比较先进的算法.算法好坏的一个重要标志就是运算的次数越少越好.求多项式f (x )=a n x n+a n -1xn -1+…+a 1x +a 0的值时,通常是先计算a n x n,进行n 次乘法运算;再计算a n -1xn -1,进行n -1次乘法运算;这样继续下去共进行n +n -1+…+2+1=n n +12(其计算方法以后学习)次乘法运算,还需要进行n 次加法运算,总共进行n n +12+n 次运算.但是用秦九韶算法时,改写多项式为f (x )=a n x n +a n -1x n -1+…+a 1x +a 0=(a n xn -1+a n -1xn -2+…+a 1)x +a 0 =((a n x n -2+a n -1xn -3+…+a 2)x +a 1)x +a 0…=(…((a n x +a n -1)x +…+a 2)x +a 1)x +a 0.先计算v 1=a n x +a n -1,需1次乘法运算,1次加法运算;v 2=v 1x +a n -2,需1次乘法运算,1次加法运算;…v n =v n -1x +a 0,需1次乘法运算,1次加法运算.所以需进行n 次乘法运算,n 次加法运算,共进行2n 次运算. 由于⎣⎢⎡⎦⎥⎤n n +12+n -2n =n n -12≥0,则n n +12+n ≥2n .因此说秦九韶算法与其他算法相比运算次数少,秦九韶算法是比较先进的算法.题型一 求最大公约数【例题1】 (1)用辗转相除法求840与1 785的最大公约数; (2)用更相减损术求612与468的最大公约数.分析:本题是关于辗转相除法和更相减损术的直接应用.辗转相除法的操作是较大的数除以较小的数;更相减损术的操作是以大数减小数.反思:(1)利用辗转相除法求最大公约数时经常会取错最后一个余数.因为辗转相除法有有限个除法式子,而最后一个余数在倒数第二个式子的最后.(2)利用更相减损术求解最大公约数时,最大公约数是直到差等于减数时的那个差,或是该差与约简的数的乘积.题型二求多项式的值【例题2】用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.分析:解决本题首先需要将原多项式化成f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x +1)x的形式,其次再弄清v0,v1,v2,…,v7分别是多少,再针对这些式子进行计算.反思:本题中比较容易出现的问题主要集中在计算上,多步计算必须保证每一步的正确性,否则最后不但将题目算错,而且浪费了宝贵的时间.题型三易错辨析【例题3】已知f(x)=3x4+2x2+4x+2,利用秦九韶算法求f(-2)的值.错解:f(x)=((3x2+2)x+4)x+2,v1=3×(-2)2+2=14;v2=14×(-2)+4=-24;v3=-24×(-2)+2=50.故f(-2)=50.错因分析:所求f(-2)的值是正确的,但是错解中没有抓住秦九韶算法原理的关键,正确改写多项式,并使每一次计算只含有x的一次项.答案:【例题1】解:(1)用辗转相除法求840和1 785的最大公约数.1 785=840×2+105,840=105×8.所以840和1 785的最大公约数是105.(2)首先612和468都是偶数,所以用2约简,得到306和234,但它们还都是偶数,需要再用2约简,得到153和117,最后用更相减损术计算得153-117=36,117-36=81,81-36=45,45-36=9,36-9=27,27-9=18,18-9=9.所以612和468的最大公约数是9×2×2=36.【例题2】解:f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)x,所以有v0=7;v1=7×3+6=27;v2=27×3+5=86;v3=86×3+4=262;v4=262×3+3=789;v5=789×3+2=2 369;v6=2 369×3+1=7 108;v7=7 108×3=21 324.故当x=3时,多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x的值为21 324.【例题3】正解:f(x)=3x4+0·x3+2x2+4x+2=(((3x+0)x+2)x+4)x+2,v1=3×(-2)+0=-6;v2=-6×(-2)+2=14;v3=14×(-2)+4=-24;v4=-24×(-2)+2=50.故f(-2)=50.1.用更相减损术可求得78与36的最大公约数是( )A.24 B.18 C.12 D.62.用秦九韶算法计算f(x)=3x6+4x5+5x4+6x3+7x2+8x+1当x=0.4时的值,需要进行乘法运算和加法运算的次数分别为( )A.6,6 B.5,6 C.6,5D.6,123.利用辗转相除法求3 869与6 497的最大公约数时,第二步是________.4.用秦九韶算法求多项式f(x)=x5+5x4+10x3+10x2+5x+1在x=-2时的值为________.5.用辗转相除法求242与154的最大公约数.答案:1.D 先用2约简得39,18;然后辗转相减得39-18=21,21-18=3,18-3=15,15-3=12,12-3=9,9-3=6,6-3=3.所以所求的最大公约数为3×2=6.2.A 改写多项式f(x)=(((((3x+4)x+5)x+6)x+7)x+8)x+1,则需进行6次乘法和6次加法运算.3.3 869=2 628×1+1 241 第一步:6 497=3 869×1+2 628,第二步:3 869=2 628×1+1 241.4.-1 改写多项式为f(x)=((((x+5)x+10)x+10)x+5)x+1,当x=-2时,v0=1;v1=1×(-2)+5=3;v2=3×(-2)+10=4;v3=4×(-2)+10=2;v4=2×(-2)+5=1;v5=1×(-2)+1=-1;故f(-2)=-1.5.解:242=154×1+88,154=88×1+66,88=66×1+22,66=22×3.所以242与154的最大公约数是22.。
1.3算法案例(一)辗转相除法

练习:
• 教材48页——1
程序框图
开始 输入m,n
①
否
求m除以n的余数r
m<n? 是
m=n t=m n=r
m=n n=t
r=0? 是 输出m
否
①
结束
程序语言
INPUT m,n IF n>m THEN t=m m=n n=t END IF DO r=m MOD n m=n n=r LOOP UNTIL r=0 PRINT m END
例1、用辗转相除法 求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 8251与6105的最大公因数是37
辗转相除法:
给定两个正数,用 较大的数 除以 较小的数 ,
1.3算法案例(一)
辗转相除法
复习提问:
小学学过的求两个数的最大公约数的方法:
先用两个数公有的 质因数 连续去除,
一直除到所得的商是 互质数 为止,
然后把所有的除数 连乘 起来.
例如:求18与30的最大公约数.
2 3 18 9 3 30 15 5
所以18与30的最大公约数是2×3=6
1、辗转相除法
求得 商 和 余数 ,若余数不为一对数继续上面
的除法,直到大数被小数除尽,这时的 较小数
就是原来两数的最大公约数。
练习:
• 教材:45页——1
2、辗转相除法计算的程序框图及程序
算法步骤: • 第一步,给定两个正整数m,n. • 第二步,比较m,n的大小,若n>m则交换 m,n,否则直接执行下一步. • 第三步,计算m除以n所得的余数r. • 第四步,m=n,n=r. • 第五步,若r=0,则m,n的最大公约数等于m; 否则,返回第三步.
山东省高中数学《1.3 算法案例》导学案1 新人教A版必修3

布置
学习小结/教学
反思
第一步,给定两个正整数m,n(m>n).
第二步,
第三步,
第四步,
思考3:该算法的程序框图如何表示?
思考4:该程序框图对应的程序如何表述?
合作探究(三):辗转相除法与更相减损术的区别
(1)都是求最大公约数的方法,计算上辗转相除法以为主,更相减损术以为主,计算次数上辗转相除法计算次数相对,特别当两个数字大小区别较大时计算次数的区别较明显。
A.4 B.12 C.16 D.8
2、下列各组关于最大公约数的说法中不正确的是()
A.16和12的最大公约数是4 B.78和36的最大公约数是6
C.85和357的最大公约数是34 D.105和315的最大公约数是105
3、算法
S1 输入,x,y
S2 m=max{x,y}
S3 n=min{x,y}
S4 若m/n=[m/n]([x]表示x的整数部分)
思考7:如果用当型循环结构构造算法,则用辗转相除法求两个正整数m,n的最大公约数的程序框图和程序分别如何表示?
合作探究(二):更相减损术
思考1:设两个正整数m>n,若m-n=k,则m与n的最大公约数和n与k的最大公约数相等.反复利用这个原理,可求得98与63的最大公约数为多少?
思考2:上述求两个正整数的最大公约数的方法称为更相减损术.一般地,用更相减损术求两个正整数m,n的最大公约数,可以用什么逻辑结构来构造算法?其算法步骤如何设计?
则输出n,否则执行S5
S5 r=m-[m/n]*n
S6 m=n
S7 n=r
S8 执行S4
S9 输出n上述算法的含义是。
4、用辗转相除法求840与1785的最大公约数.
1.3 算法案例1---辗转相除法与更相减损术 8

1.3 算法案例1.3 算法案例——案例1 辗转相除法与更相减损术8**学习目标**1.理解辗转相除法与更相减损术求最大公约数的方法。
2.把辗转相除法与更相减损术的方法转换成程序框图与程序语言.**要点精讲**1.辗转相除法例如,求两个正数8251和6105的最大公约数。
分析与解:8251与6105两数都比较大,而且没有明显的公约数,可以考虑用两数中较大的数除以较小的数,求得商和余数:8251=6105×1+2146显然8251与6105的公约数也必是2146的约数,同样6105与2146的公约数也必是8251的约数, 所以8251与6105的最大公约数也是6105与2146的最大公约数。
6105=2146×2+1813,2146=1813×1+333,1813=333×5+148333=148×2+37,148=37×4+0则37为37与148的最大公约数,也是148与333的最大公约数,也是333与1813的最大公约数,也是1813与2146的最大公约数,也是2146与6105的最大公约数。
所以,2146与6105的最大公约数是37。
以上我们求最大公约数的方法就是辗转相除法。
也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的。
2.更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术。
在《九章算术》中记载了更相减损术求最大公约数的步骤:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之。
翻译为:(1)任意给出两个正数;判断它们是否都是偶数。
若是,用2约简;若不是,执行第二步。
(2)以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。
继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。
**范例分析**例1.试分别用辗转相除法和更相减损术求840与1764、440与556的最大公约数。
人教版高中数学必修三课件:1.3 算法案例(共55张PPT)

解:用辗转相除法求最大公约数:612=468×1+144,468=144×3+36,144=36×4,即612
和468的最大公约数是36. 用更相减损术检验:612和468均为偶数,两次用2约简得153和117,153-117=36,11736=81,81-36=45,45-36=9,36-9=27,27-9=18,18-9=9,所以612和468的最大公约数为
转化为求n个一次多项式的值.
预习探究
知识点二 进位制
1.进位制:进位制是为了计数和运算方便而约定的记数系统,约定“满k进一”就 是 k进制 ,k进制的基数(大于1的整数)就是 k . 2.将k进制数化为十进制数的方法:先把k进制数写成各位上的数字与k的幂的乘积之和 的形式,再按照十进制数的运算规则计算出结果. 3.将十进制数化为k进制数的方法是 除k取余法 .即用k连续去除十进制数所得 的 商 ,直到商为零为止,然后把各步得到的余数 倒序 写出.所得到的就是相应的k 进制数. 4.k进制数之间的转化:首先转化为十进制数,再转化为 k进制数.
第一章 算法初步
1.3 算法案例 第2课时 秦九韶算法与进位制
预习探究
知识点一 秦九韶算法
1.秦九韶算法是我国南宋数学家秦九韶在他的著作《数书九章》中提出的一 个用于计算多项式值的方法. 2.秦九韶算法的方法: 把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0 改写成下列的形式: f(x)=(anxn-1+an-1xn-2+…+a1)x+a0= ((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =…=
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[问题3]能否探索更好的算法,来解决任意多 项式的求值问题? f(x)=2x5-5x4-4x3+3x2-6x+ 7v0=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
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时的值的算法,并写出程序.
程序 x=5
f=2*x^5-5*x^4-4*x^3+3*x^2-6*x+7
PRINT f
END
点评:上述算法一共做了15次乘法运算,5次 加法运算.优点是简单,易懂;缺点是不通用,不能 解决任意多项多求值问题,而且计算效率不高.
案例2 秦九韶算法
一、三维目标
(a)知识与技能
了解秦九韶算法的计算过程,并理解利用秦九韶
算法可以减少计算次数提高计算效率的实质。
(b)过程与方法
模仿秦九韶计算方法,体会古人计算构思的巧妙.
(c)情感态度与价值观
通过对秦九韶算法的学习,了解中国古代数学家
对数学的贡献,充分认识到我国文化历史的悠久。
二、教学重难点
重点:1.秦九韶算法的特点;
难点: 2.秦九韶算法的先进性理解 .
秦九韶(约1202--1261),字道 古,四川安岳人。先后在湖北,安 徽,江苏,浙江等地做官,1261 年左右 被 贬至梅州,(今广东梅 县),不久死于任所。他与李冶, 杨辉,朱世杰并称宋元数学四大家。 早年在杭州“访习于太史,又尝从 隐君子受数学”,1247年写成著 名的《数书九章》。《数书九章》 全书凡18卷,81题,分为九大类。 其最重要的数学成就----“大衍总数 术”(一次同余组解法)与“正负 开方术"(高次方程数值解法),使 这部宋代算经在中世纪世界数学史 上占有突出的地位。
计算的过程可以列表 表 示为: f(x) =((((2x-5)x-4)x+3)x-6)x+7, x=5
多项式x 系数
2 -5 -4 3 -6 7
10 25 105 540 2670
变形后x 的"系数" 2 5 21 108 534 2677
例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.
v3=v2x+an-3, ……, vn=vn-1x+a0.
观察上述秦九韶算法 中的n个一次式,可见 vk的计算要用到vk-1的值. 若令v0=an,得
v0=an,
vK=vK-1x+an-k(k=1,2,……,n
这是一个在秦九韶算法中反复执行的步 骤,因此可用循环结构来实现.
[问题]画出程序框图,表示用秦九韶算法求5次多 项式f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0当x=x0 (x0是任意实数)时的值的过程,然后写出程序.
然后由内向外逐层计算一次多项式的值,即 v0=2
v1=v0x-5=2×5-5=5
v2=v1x-4=5×5-4=21
v3=v2x+3=21×5+3=108 v4=v3x-6=108×5-6=534
所以,当x=5时,多 项式的值是2677.
v5=v4x+7=534×5+7=2677
若将x的值代入变形后的式子中,那么求 值的计算过程是怎样的?
[问题2]有没有更高效的算法?
分析:计算x的幂时,可以利用前面的计算结 果,以减少计算量,
即先计算x2,然后依次计算
x2 x, (x2 x) x, ((x2 x) x) x
的值. 这析计算上述多项式的值,一共需要9次乘 法运算,5次加法运算.
第二种做法与第一种做法相比,乘法的运 算次数减少了,因而能提高运算效率.而且对于 计算机来说,做一次乘法所需的运算时间比做一 次加法要长得多,因此第二种做法能更快地得到 结果.
解法二:列表
原多项式 的系数
2 -5 -4 3 -6 7
x=5
10 25 105 540 2670
2 5 21 108 534 2677
所以,当x=5时,多项式的值是2677. 多项式
的值.
练一练:用秦九韶算法求多项式 f(x)=2x6-5x5-4x3+3x2-6x当x=5时的值.
解:原多项式先化为: f(x)=2x6-5x5 +0×x4-4x3+3x2-6x+0
点评:秦九韶算法是求一元多项式的
值的一种方法.
它的特点是:把求一个n次多项式的值 转化为求n个一次多项式的值,通过这种转 化,把运算的次数由至多n(n+1)/2次乘法运 算和n次加法运算,减少为n次乘法运算和n 次加法运算,大大提高了运算效率.
v1=anx+an-1,
v2=v1x+an-2,
v5=v4x+7=534×5+7=2677
所以,当x=5时,多项式的值是2677.
这种求多项式值的方法就叫秦九韶算法.
例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.
解法一:首先将原多项式改写成如下形式 : f(x)=((((2x-5)x-4)x +3)x-6)x+7
列表 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.
一般地,对于一个n次多项式 f(x)=anxn+an-1xn-1+an-2xn-2+……+a1x+a0. 我们可以改写成如下形式: