1、算 法 案 例,(第一课时),1、求两个正整数的最大公约数,(1)求25和35的最大公约数 (2)求49和63的最大公约数,2、求8251和6105的最大公约数,所以,25和35的最大公约数为5,所以,49和63的最大公约数为7,辗转相除法, 又名“欧几里德算法”(Euclidean algorithm)乃求两数之最大公因数算法。它是已知最古老的算法, 其可追溯至前300年。它首次出现于欧几里德的几何原本中,而在中国则可以追溯至东汉出现的九章算术。它并不需要把二数作质因数分解,欧几里德,辗转相除法(欧几里得算法),观察用辗转相除法求8251和6105的最大公约数的过程,第一步 用两数中较大的数
2、除以较小的数,求得商和余数 8251=61051+2146,结论: 8251和6105的公约数就是6105和2146的公约数,求8251和6105的最大公约数,只要求出6105和2146的公约数就可以了。,第二步 对6105和2146重复第一步的做法 6105=21462+1813 同理6105和2146的最大公约数也是2146和1813的最大公约数。,为什么呢?,思考:从上述的过程你体会到了什么?,完整的过程,8251=61051+2146,6105=21462+1813,2146=18131+333,1813=3335+148,333=1482+37,148=374+0,例2 用辗转相除法
3、求225和135的最大公约数,225=1351+90,135=901+45,90=452,显然37是148和37的最大公约数,也就是8251和6105的最大公约数,显然45是90和45的最大公约数,也就是225和135的最大公约数,思考1:从上面的两个例子可以看出计算的规律是什么?,S1:用大数除以小数,S2:除数变成被除数,余数变成除数,S3:重复S1,直到余数为0,辗转相除法是一个反复执行直到余数等于0停止的步骤,这实际上是一个循环结构。,m = n q r,用程序框图表示出右边的过程,r=m MOD n,m = n,n = r,r=0?,是,否,思考2:辗转相除法中的关键步骤是哪种逻辑结
4、构?,九章算术更相减损术,算理:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之。,第一步:任意给定两个正整数;判断他们是否都是偶数。若是,则用2约简;若不是则执行第二步。,第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等为止,则这个等数就是所求的最大公约数。,例3 用更相减损术求98与63的最大公约数,解:由于63不是偶数,把98和63以大数减小数,并辗转相减,986335 633528 35287 28721 21714 1477,所以,98和63的最大公约数等于7,练习:,课本P45练习第1题,