- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高中数学必修三课件1.3算法案例
解:2 1 8 2 4 用公有质因数2除, 3 9 1 2 用公有质因数3除, 3 4 3和4互质不除了。 得:18和24最大公约数是:2×3=6 想一想,如何求8251与6105的最大公约数? 例、求18与24的最大公约数: 短除法 案例1、 8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333 1813=333×5+148 333=148×2+37 148=37×4+0 例2 用辗转相除法求225和135的最大公约数 225=135×1+90 135=90×1+45 90=45×2 显然37是148和37的最大公约数,也就是8251和6105的最大公约数 显然45是90和45的最大公约数,也就是225和135的最大公约数 思考1:从上面的两个例子可以看出计算的规律是什么? S1:用大数除以小数 S2:除数变成被除数,余数变成除数 S3:重复S1,直到余数为0 解: 辗转相除法(欧几里得算法) 辗转相除除法的程序框图与程序 开始 输入m,n r=mMODn m=n n=r r=0? 输出m 结束 否 是 INPUT m,n DO r=mMODn m=n n=r LOOP UNTIL r=0 PRINT m END 《九章算术》——更相减损术 算理:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之。 第一步:任意给定两个正整数;判断他们是否都是偶数。若是,则用2约简;若不是则执行第二步。 第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等为止,则这个等数或这个等数与约简的数的乘积就是所求的最大公约数。 例、用更相减损术求98与63的最大公约数 解:由于63不是偶数,把98和63以大数减小数,并辗转相减。 = 7 所以,98和63的最大公约数等于7。 (98,63) =(63,35) 98-63=35 ?? 63-35=28 =(35,28) 35-28=7 =(28,7) 28-7=21 =(21,7) 21-7=14 =(14,7) 14-7=7 =(7,7) 程序: INPUT “a,b”;a,b i=0 WHILE a MOD 2=0 AND b MOD 2=0 a=a/2 b=b/2 i=i+1 WEND DO IF ba THEN t=a a=b b=t END IF a=a-b LOOP UNTIL a=b PRINT a*2^i END 开始 输入:a,b 输出:a×2i 结束 a=b? a=a/2,b=b/2 是 a=a-b t=a,a=b,b=t ba? a MOD 2=0且b MOD 2=0? 是 否 否 否 是 i=0 i=i+1 秦九韶(约1202年-1261年)南 宋官员、数学家,与李冶、杨辉、 朱世杰并称宋元数学四大家。主要成就:1247年完成了数学名著《数书九章》,其中的大衍求一术、三斜求积术和秦九韶算法是具有世界意义的重要贡献。秦九韶算法就是中国古代数学的一枝奇葩。直到今天,这种算法仍是多项式求值比较先进的算法 。 美国著名科学史家萨顿说过,秦九韶是“他那个民族,他那个时代,并且确实也是所有时代最伟大的数学家之一”。 案例2、秦九韶算法 知识探究(一):秦九韶算法的基本思想 思考1:对于多项式f(x)=x5+x4+x3+x2+x+1,怎么样求f(5)的值呢? 思考2:利用后一种算法求多项式f(x)=anxn+an-1xn-1+…+a1x+a0的值,这个多项式应写成哪种形式? f(x)=anxn+an-1xn-1+…+a1x+a0 (anxn-1+an-1xn-2+…+a2x+a1)x+a0 =((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 = = … =(…((anx+an-1)x+an-2)x+…+a1)x+a0 次乘法运算, 次加法运算. n n 例1 已知一个5次多项式为 用秦九韶算法求f(5)的值. f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-0.8. v1= v2= v
文档评论(0)