欢迎来到天天文库
浏览记录
ID:36838075
大小:168.00 KB
页数:12页
时间:2019-05-10
《1.3.1辗转相除法与更相减损术 (2)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、辗转相除法与更相减损术知识探究(一):辗转相除法思考1:18与30的最大公约数是多少?你是怎样得到的?先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来即为最大公约数.思考2:对于8251与6105这两个数,由于其公有的质因数较大,利用上述方法求最大公约数就比较困难.注意到8251=6105×1+2146,那么8251与6105这两个数的公约数和6105与2146的公约数有什么关系?思考3:又6105=2146×2+1813,同理,6105与2146的公约数和2146与18
2、13的公约数相等.重复上述操作,你能得到8251与6105这两个数的最大公约数吗?2146=1813×1+333,148=37×4+0.333=148×2+37,1813=333×5+148,8251=6105×1+2146,6105=2146×2+1813,辗转相除法是一个反复执行直到余数等于0停止的步骤,这实际上是一个循环结构。8251=6105×1+21466105=2146×2+18132146=1813×1+3331813=333×5+148333=148×2+37148=37×4+0m=n×q+r
3、用程序框图表示出右边的过程r=mMODnm=nn=rr=0?是否思考4:辗转相除法中的关键步骤是哪种逻辑结构?思考5:上述求两个正整数的最大公约数的方法称为辗转相除法或欧几里得算法.一般地,用辗转相除法求两个正整数m,n的最大公约数,可以用什么逻辑结构来构造算法?其算法步骤如何设计?第一步,给定两个正整数m,n(m>n).第二步,计算m除以n所得的余数r.第三步,m=n,n=r.第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.思考6:该程序框图对应的程序如何表述?INPUTm,nDOr=mMO
4、Dnm=nn=rLOOPUNTILr=0PRINTmEND开始输入m,n求m除以n的余数rm=nn=rr=0?是输出m结束否ys开始输入m,n求m除以n的余数rm=nn>0?否输出m结束是n=rINPUTm,nWHILEn>0r=mMODnm=nn=rWENDPRINTmEND知识探究(二):更相减损术思考1:设两个正整数m>n,若m-n=k,则m与n的最大公约数和n与k的最大公约数相等.反复利用这个原理,可求得98与63的最大公约数为多少?98-63=35,14-7=7.21-7=14,28-7=21,35
5、-28=7,63-35=28,思考2:上述求两个正整数的最大公约数的方法称为更相减损术.一般地,用更相减损术求两个正整数m,n的最大公约数,可以用什么逻辑结构来构造算法?其算法步骤如何设计?第一步,给定两个正整数m,n(m>n).第二步,计算m-n所得的差k.第三步,比较n与k的大小,其中大者用m表示,小者用n表示.第四步,若m=n,则m,n的最大公约数等于m;否则,返回第二步.“更相减损术”在中国古代数学专著《九章算术》中记述为:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约
6、之.INPUT“m,n=“;m,nIFmnIFd>nthenm=dELSEm=nn=dEndifd=m-nWendd=2^k*dPRINTdEnd
此文档下载收益归作者所有