1.3算法案例[1]

1.3算法案例[1]

ID:19912305

大小:1.05 MB

页数:65页

时间:2018-10-07

1.3算法案例[1]_第1页
1.3算法案例[1]_第2页
1.3算法案例[1]_第3页
1.3算法案例[1]_第4页
1.3算法案例[1]_第5页
资源描述:

《1.3算法案例[1]》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.3算法案例1.3.4十进制化K进制1.3.1辗转相除法和更相减损术1.3.2秦九韶算法1.3.3K进制化十进制1.3算法案例1.3.1辗转相除法和更相减损术复习1.研究一个实际问题的算法,主要从哪几方面展开?2.在程序框图中算法的基本逻辑结构有哪几种?3.在程序设计中基本的算法语句有哪几种?算法步骤、程序框图和编写程序三方面展开.顺序结构、条件结构、循环结构输入语句、输出语句、赋值语句、条件语句、循环语句一、辗转相除法思考1:18与30的最大公约数是多少?你是怎样得到的?先用两个数公有的质因数连续去除,一直除到所得的商

2、是互质数为止,然后把所有的除数连乘起来即为最大公约数.思考2:对于8251与6105这两个数,它们的最大公约数是多少?你是怎样得到的?由于它们公有的质因数较大,利用上述方法求最大公约数就比较困难.有没有其它的方法可以较简单的找出它们的最大公约数呢?思考3:注意到8251=6105×1+2146,那么8251与6105这两个数的公约数和6105与2146的公约数有什么关系?我们发现6105=2146×2+1813,同理,6105与2146的公约数和2146与1813的公约数相等.思考4:重复上述操作,你能得到8251与610

3、5这两个数的最大公约数吗?2146=1813×1+333,148=37×4+0.333=148×2+37,1813=333×5+148,8251=6105×1+2146,6105=2146×2+1813,上述求两个正整数的最大公约数的方法称为辗转相除法或欧几里得算法.第一步,给定两个正整数m,n(m>n).第二步,计算m除以n所得的余数r.第三步,m=n,n=r.第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.思考5:你能把辗转相除法编成一个计算机程序吗?程序框图开始输入m,n求m除以n的余数rm=nn=r

4、r=0?是输出m结束否INPUTm,nDOr=mMODnm=nn=rLOOPUNTILr=0PRINTmEND思考6:如果用当型循环结构构造算法,则用辗转相除法求两个正整数m、n的最大公约数的程序框图和程序分别如何表示?开始输入m,n求m除以n的余数rm=nn>0?否输出m结束是n=rINPUTm,nWHILEn>0r=mMODnm=nn=rWENDPRINTmEND二、更相减损术《九章算术》是中国古代的数学专著,其中的“更相减损术”也可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相

5、减损,求其等也.以等数约之.”意思是:第一步:任意给定两个正整数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.第二步:以较大的数减去较小的数,接着把差与较小的数比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个等数或这个数与约简的数的乘积就是所求的最大公约数.例1:用更相减损术求98与63的最大公约数.98-63=35,14-7=7.21-7=14,28-7=21,35-28=7,63-35=28,因为63不是偶数,所以所以最大公约数是7.例2分别用辗转相除法和更相减损术求168与93的最大公约

6、数.168=93×1+75,93=75×1+18,75=18×4+3,18=3×6.辗转相除法:更相减损术:168-93=75,93-75=18,75-18=57,57-18=39,39-18=21,21-18=3,18-3=15,15-3=12,12-3=9,9-3=6,6-3=3.例3求325,130,270三个数的最大公约数.因为325=130×2+65,130=65×2,所以325与130的最大公约数是65.因为270=65×4+10,65=10×6+5,10=5×2,所以65与270最大公约数是5.故325,13

7、0,270三个数的最大公约数是5.练习:用更相减损术求两个正整数m,n的最大公约数,可以用什么逻辑结构来构造算法?其算法步骤如何设计?第一步,给定两个正整数m,n(m>n).第二步,计算m-n所得的差k.第三步,比较n与k的大小,其中大者用m表示,小者用n表示.第四步,若m=n,则m,n的最大公约数等于m;否则,返回第二步.讨论:该算法的程序框图如何表示?开始输入m,nn>k?m=n是输出m结束m≠n?k=m-n是否n=km=k否讨论:该程序框图对应的程序如何表述?INPUTm,nWHILEm≠nk=m-nIFn>kTHE

8、Nm=nn=kELSEm=kENDIFWENDPRINTmEND开始输入m,nn>k?m=n是输出m结束m≠n?k=m-n是否n=km=k否1、辗转相除法.小结2、更相减损术.布置作业:P45练习:1.P48习题1.3A组:1.1.3.2秦九韶算法1、什么是辗转相除法和更相减损术?2、辗转相除法和更相减

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。