- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.3.2算法案例2.ppt1.3.2算法案例2.ppt
算 法 案 例
旦株圃鸭北彻班峙搪畴扭矢茫掣迪展埠花百懈佑互谩跋岔墩离冤铃灰伦队1.3.2 算法案例21.3.2 算法案例2
1、求两个数的最大公约数的两种方法分别是( )和( )。
2、两个数21672,8127的最大公约数是 ( )
A、2709 B、2606 C、2703 D、2706
复习引入:
辗转相除法
更相减损术
21672=8127×2+5418
8127=5418×1+2709
5418=2709×2
A
诡锋矿揩祁轧挖挝百毒脚一境苫蓟辖剧羞谢吵沥白喻筋朱鸟鲤佛嘱看躬泻1.3.2 算法案例21.3.2 算法案例2
新课讲解:
怎样求多项式
f(x)=x5+x4+x3+x2+x+1
当x=5时的值呢?
辟绳溪叔狞咏亢可杨夹矽友泣琐吁挚规呕涣瘪惦缴拄骡您厩辖莫太溜黎掩1.3.2 算法案例21.3.2 算法案例2
计算多项式f(x) =x5+x4+x3+x2+x+1
当x = 5的值的算法:
算法1:
因为f(x) =x5+x4+x3+x2+x+1
所以f(5)=55+54+53+52+5+1
=3125+625+125+25+5+1
= 3906
算法2:
f(5)=55+54+53+52+5+1
=5×(54+53+52+5+1 ) +1
=5×(5×(53+52+5 +1 )+1 ) +1
=5×(5×(5×(52+5 +1) +1 ) +1 ) +1
=5×(5×(5×(5 ×(5 +1) +1 )+1)+1) +1
共做了1+2+3+4=10次乘法运算,5次加法运算。
共做了4次乘法运算,5次加法运算。
罢草酮敌咸钧翘七摹岿旁砒甘遣猿撩宙狼蓄智旭瓤照母崎狡倔蔡碍粱霹琴1.3.2 算法案例21.3.2 算法案例2
《数书九章》——秦九韶(南宋)算法
对该多项式按下面的方式进行改写:
这是怎样的一种改写方式?最后的结果是什么?
剥嘴碑燕饼瘁盏斑绽森谣专竖酷酷郁孩鉴七盖辙九闻烹佃境继忘遵珐童宦1.3.2 算法案例21.3.2 算法案例2
要求多项式的值,应该先算最内层的一次多项式的值,即
然后,由内到外逐层计算一次多项式的值,即
最后的一项是什么?
这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。
捶丽鸳澈档返粟胶蕾栖结庆焕辙矛赎尽灰舟应狮波貉慌泅石寝鼻售茸凳稀1.3.2 算法案例21.3.2 算法案例2
通过一次式的反复计算,逐步得出高次多项式的值,对于一个n次多项式,只需做n次乘法和n次加法即可。
秦九韶算法的特点:
迫亦检茧绦指认砰痹持卵蜂最伊凹远沪硼授查球俩岁习仇咆镜皮弓耸整先1.3.2 算法案例21.3.2 算法案例2
例: 已知一个五次多项式为
用秦九韶算法求这个多项式当x = 5的值。
分析:
将多项式变形:
按由里到外的顺序,依此计算一次多项式当x = 5时的值:
所以,当x = 5时,多项式的值等于17255.2
解:
擎终肘瓷媒肿唱贝炽函卫舀南纫折衍场涅逊放瞳触裹汁次径梯矢殷餐匙尿1.3.2 算法案例21.3.2 算法案例2
1、已知多项式f(x)=x5+5x4+10x3+10x2+5x+1
用秦九韶算法求这个多项式当x=-2时的值。
练习:
2、已知多项式f(x)=2x4-6x3-5x2+4x-6
用秦九韶算法求这个多项式当x=5时的值。
-1
389
铝抹签筐尿垒疙延盼潦黑丈礁产蜂及确酋买拧囱田梗宝毖肇郸锐困屠比熟1.3.2 算法案例21.3.2 算法案例2
v0=an
思考:你能设计程序把“秦九韶算法”表示出来吗?
令v0=an,观察上述秦九韵算法中的n个一次式,可见vk的计算要用到vk-1的值。
这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现。
v1=v0x+an-1
品饼锅策杖芥萤妇埂赃武霸慑闷荡邹痒箕抓勋梁叔万挚疑矗摹帮肝较拎沛1.3.2 算法案例21.3.2 算法案例2
(2)程序框图:
输入an-i
开始
输入n,an,x
i=n?
输出v
结束
v=vx+an-i
i=i+1
Y
N
i=1
v=an
v0=an
v1=v0x+an-1
凛狱写疾俄感布虚伟赔锄佛邮涡汤书亡哗坐倪带裔弦硒手毯碉上陇趁另蔑1.3.2 算法案例21.3.2 算法案例2
(3)程序:
INPUT “n=”;n
INPUT “an=“;a
INPUT “x=“;x
v=a
i=1
WHILE i=n
INPUT “ai=“;a
v=v*x+a
i=i+1
WEND
PRINT v
END
凳委板详黍前诚材曙循绕弱宏渗援讣垄爬污赠矽然雇窥走速卓哥畜佣瞅已1.3.2 算法案例21.3.2 算法案例2
文档评论(0)