资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
算法算法案例1.解:2 1 8 2 4 用公有质因数2除, 3 9 1 2 用公有质因数3除, 3 4 3和4互质不除了。 得:18和24最大公约数是:236 想一想,如何求8251与6105的最大公约数? 例、求18与24的最大公约数:短除法短除法案例案例1、2.8251=61051+2146 6105=21462+1813 2146=18131+3331813=3335+148333=1482+37148=374+0例例2 用辗转相除法求用辗转相除法求225和和135的最大公约数的最大公约数225=1351+90135=901+4590=452显然显然37是是148和和37的最大公约的最大公约数,也就是数,也就是8251和和6105的最的最大公约数大公约数 显然显然45是是90和和45的最大公约数,也就是的最大公约数,也就是225和和135的最大公约数的最大公约数 思考思考1:从上面的两个例子可以看出计:从上面的两个例子可以看出计算的规律是什么?算的规律是什么? S1:用大数除以小数:用大数除以小数S2:除数变成被除数,余数变成除数:除数变成被除数,余数变成除数S3:重复:重复S1,直到余数为,直到余数为0解:辗转相除法(欧几里得算法)辗转相除法(欧几里得算法)3.辗转相除除法的程序框图与程序开始输入m,n r=mMODn m=nn=rr=0?输出m结束否是 INPUT m,nDO r=mMODn m=n n=r LOOP UNTIL r=0PRINT mEND4.九章算术九章算术更相减损术更相减损术 算理:算理:可半者半之,不可半者,副置分母、子之数,以少减多,更相减可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之。损,求其等也,以等数约之。第一步:第一步:任意给定两个正整数;判断他们是否任意给定两个正整数;判断他们是否都是偶数都是偶数。若是,则用。若是,则用2约简;若不是则执行第二步。约简;若不是则执行第二步。第二步:第二步:以以较大较大的数减的数减较小较小的数,接着把的数,接着把所得的差所得的差与与较小的数较小的数比较,并比较,并以大数减小数。继续这个操作,以大数减小数。继续这个操作,直到所得的减数和差相等为止直到所得的减数和差相等为止,则这个,则这个等数或这个等数与约简的数的乘积就是所求的最大公约数。等数或这个等数与约简的数的乘积就是所求的最大公约数。5.例、用更相减损术求例、用更相减损术求98与与63的最大公约数的最大公约数解:由于解:由于63不是偶数,把不是偶数,把98和和63以大数减小数,并辗转相减以大数减小数,并辗转相减。= 7所以,所以,98和和63的最大公约数等于的最大公约数等于7。(98,63)=(63,35)98-63=3563-35=28=(35,28)35-28=7=(28,7)28-7=21=(21,7)21-7=14=(14,7)14-7=7=(7,7)6.程序:INPUT “a,b”;a,bi=0WHILE a MOD 2=0 AND b MOD 2=0 a=a/2 b=b/2 i=i+1 WEND DOIF ba THENt=aa=bb=tEND IFa=a-bLOOP UNTIL a=bPRINT a*2iEND开始开始输入:输入:a,b输出:输出:a2i结束结束a=b?a=a/2,b=b/2是是a=a-bt=a,a=b,b=tba?aMOD2=0且且bMOD2=0?是是否否否否否否是是i=0i=i+17.秦九韶(约秦九韶(约秦九韶(约秦九韶(约1202120212021202年年年年1261126112611261年)南年)南年)南年)南 宋官员、数学家,与李冶、杨辉、宋官员、数学家,与李冶、杨辉、宋官员、数学家,与李冶、杨辉、宋官员、数学家,与李冶、杨辉、 朱世杰并朱世杰并朱世杰并朱世杰并称宋元数学四大家称宋元数学四大家称宋元数学四大家称宋元数学四大家。主要。主要。主要。主要成就成就成就成就:1247:1247:1247:1247年完成了数学名著年完成了数学名著年完成了数学名著年完成了数学名著数数数数书九章书九章书九章书九章,其中的其中的其中的其中的大衍求一术大衍求一术大衍求一术大衍求一术、三三三三斜求积术斜求积术斜求积术斜求积术和和和和秦九韶算法秦九韶算法秦九韶算法秦九韶算法是具有世界是具有世界是具有世界是具有世界意义的重要贡献。秦九韶算法就是意义的重要贡献。秦九韶算法就是意义的重要贡献。秦九韶算法就是意义的重要贡献。秦九韶算法就是中国古代数学的一枝奇葩。直到今中国古代数学的一枝奇葩。直到今中国古代数学的一枝奇葩。直到今中国古代数学的一枝奇葩。直到今天,这种算法仍是多项式求值比较天,这种算法仍是多项式求值比较天,这种算法仍是多项式求值比较天,这种算法仍是多项式求值比较先进的算法先进的算法先进的算法先进的算法 。美国美国美国美国著名科学史家萨顿说过,秦九著名科学史家萨顿说过,秦九著名科学史家萨顿说过,秦九著名科学史家萨顿说过,秦九韶是韶是韶是韶是“ “他那个民族,他那个时代,他那个民族,他那个时代,他那个民族,他那个时代,他那个民族,他那个时代,并且确实也是所有时代最伟大的数并且确实也是所有时代最伟大的数并且确实也是所有时代最伟大的数并且确实也是所有时代最伟大的数学家之一学家之一学家之一学家之一” ”。 案例案例2、秦九韶算法、秦九韶算法8.知识探究知识探究( (一一):):秦九韶算法的基本思想秦九韶算法的基本思想 思考思考1:1:对于多项式对于多项式f(x)=xf(x)=x5 5+x+x4 4+x+x3 3+x+x2 2+x+1+x+1,怎么样求,怎么样求f(5)f(5)的值呢?的值呢? 9.思考思考2:2:利用后一种算法求多项式利用后一种算法求多项式f(x)=af(x)=an nx xn n+a+an-1n-1x xn-1n-1+a+a1 1x+ax+a0 0的值,这个多的值,这个多项式应写成哪种形式?项式应写成哪种形式?f(x)f(x)= =a an nx xn n+a+an-1n-1x xn-1n-1+a+a1 1x+ax+a0 0 (a(an nx xn-1n-1+a+an-1n-1x xn-2n-2+a+a2 2x+ax+a1 1) )x+ax+a0 0= =( (a(an nx xn-2n-2+a+an-1n-1x xn-3n-3+a+a2 2) )x+ax+a1 1)x+a)x+a0 0= = = = =(a(an nx+ax+an-1n-1) )x+ax+an-2n-2)x+a)x+a1 1)x+a)x+a0 0 次乘法运算,次乘法运算, 次加法运算次加法运算. nn10.例例1 1 已知一个已知一个5 5次多项式为次多项式为用秦九韶算法求用秦九韶算法求f(5)f(5)的值的值. .f(x)=(4x+2)x+3.5)x-2.6)x+1.7)x-0.8.f(x)=(4x+2)x+3.5)x-2.6)x+1.7)x-0.8.v v1 1= =v v2 2= =v v3 3= =v v4 4= =v v5 5= =所以所以f(5)=14130.2.f(5)=14130.2.解:根据秦九韶算法,把多项式改写成解:根据秦九韶算法,把多项式改写成v v0 0= = 4 4;45+2=45+2=2222;225+3.5=225+3.5=113.5113.5;113.55-2.6=113.55-2.6= 564.9564.9;2826.22826.2;564.95+1.7=564.95+1.7=14130.2.14130.2.2826.25-0.8=2826.25-0.8=11., ,求求f(4)f(4)的值的值. .f(x)=(3x+2)x-9)x-11)x+1f(x)=(3x+2)x-9)x-11)x+1解:根据秦九韶算法,把多项式改写成解:根据秦九韶算法,把多项式改写成v v1 1= =v v2 2= =v v3 3= =v v4 4= =f(4)=709.f(4)=709.v v0 0= = 3 3;34+2=34+2=1414;144-9=144-9=4747;474-11=474-11=177177;709709;1774+1=1774+1=12.程序?程序?INPUT “n=”INPUT “n=”;n nINPUT “an=”INPUT “an=”;a aINPUT “x=”INPUT “x=”;x x v=a v=ai=n-1i=n-1WHILE iWHILE i=0=0INPUT “ai=”INPUT “ai=”;a a v=v*x+av=v*x+ai=i-1i=i-1 WENDWENDPRINT vPRINT vENDEND输入输入n,an,x的值的值v=anv=vx+ai输入输入aii0?i=n- -1i=i- -1是是输出输出v否否结束结束开始开始PRINT “i=”PRINT “i=”;i i13. 问题问题11我们常见的数字都是十进制的我们常见的数字都是十进制的, ,但但是并不是生活中的每一种数字都是十进制的是并不是生活中的每一种数字都是十进制的. .比如时间和角度的单位用六十进位制比如时间和角度的单位用六十进位制, ,电子计电子计算机用的是二进制算机用的是二进制. .那么什么是进位制那么什么是进位制? ?不同的不同的进位制之间又有什么联系呢进位制之间又有什么联系呢? ?进位制进位制是人们为了计数和运算的方便而是人们为了计数和运算的方便而约定的一种记数系统,约定满二进一约定的一种记数系统,约定满二进一, ,就是二就是二进制进制; ;满十进一满十进一, ,就是十进制就是十进制; ;满十六进一满十六进一, ,就就是十六进制是十六进制; ;等等等等. . “满几进一满几进一”,就是就是几进制几进制,几进制的几进制的基数基数就是几就是几.可使用数字符号的个数称为基数可使用数字符号的个数称为基数. .基数基数都是大于都是大于1 1的整数的整数. . 案例3:进位制14.一般地一般地,若若k是一个大于是一个大于1的整数的整数,那么以那么以k为为基数的基数的k进制数可以表示为一串数字连写在一起进制数可以表示为一串数字连写在一起的形式的形式anan-1a1a0(k)k进制的数也可以表示成不同位上数字与进制的数也可以表示成不同位上数字与基数基数k的幂的乘积之和的形式的幂的乘积之和的形式,即即anan-1a1a0(k)=ankn+an-1kn-1 +a1k1+a0k0 .注意这是一注意这是一个个n+1位数位数.15.例例1:把二进制数把二进制数110011(2)化为十进制数化为十进制数.分析分析:先把二进制数写成不同位上数字与先把二进制数写成不同位上数字与2的幂的乘积之和的形式的幂的乘积之和的形式,再按照十进制数的运算再按照十进制数的运算规则计算出结果规则计算出结果.解解:110011(2) =125+124+023+022+121+120 =132+116+12+1=51. 16. k进制数转化为十进制数的方法进制数转化为十进制数的方法先把先把k进制的数表示成不同位上数字进制的数表示成不同位上数字与基数与基数k的幂的乘积之和的形式的幂的乘积之和的形式,即即anan-1a1a0(k)=ankn+an-1kn-1+a1k1+a0k0 .再按照十进制数的运算规则计算出结果再按照十进制数的运算规则计算出结果.17.例:例:10231(4)=_ 235(7)=_30112418.例例2:把把89化为二进制的数化为二进制的数. 十进制数转化为十进制数转化为k进制数的方法进制数的方法19.44 1例例2:把把89化为二进制的数化为二进制的数.我们可以用下面的除法算式表示除我们可以用下面的除法算式表示除2取余法取余法:289 余数余数222 0211 025 122 121 020 1把算式中各步所得的余数把算式中各步所得的余数从下到上排列从下到上排列,得到得到89=1011001(2).这种方法也可以推广为把这种方法也可以推广为把十进制数化为十进制数化为k进制数的进制数的算法算法,称为称为除除k取余法取余法.解:解:20.例例3:把把89化为五进制的数化为五进制的数.解解:以以5作为除数作为除数,相应的除法算式为相应的除法算式为:17 4589 余数余数53 250 3 89=324(5).21.问题问题4你会把三进制数你会把三进制数10221(3)化为二进制数吗化为二进制数吗?解解:第一步第一步:先把三进制数化为十进制数先把三进制数化为十进制数:10221(3)=134+033+232+231+130 =81+18+6+1=106. 第二步第二步:再把十进制数化为二进制数再把十进制数化为二进制数: 106=1101010(2). 10221(3)=106= 1101010(2).22.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号