140 likes | 272 Views
算 法 案 例. ( 第一课时 ). 解: 2 1 8 2 4 用公有质因数 2 除, 3 9 1 2 用公有质因数 3 除, 3 4 3和4互质不除了。 得:18 和 24 最大公约数是: 2 × 3 = 6. 例 1 、求18与24的最大公约数:. 短除法. 想一想 , 如何求 8251 与 6105 的最大公约数?. 点拨: 辗转相除法 是解决上述问题的有效方法之一,此算法是欧几 里得在公元前 300 左右首先提
E N D
算 法 案 例 (第一课时)
解:2 1 8 2 4 用公有质因数2除, 3 9 1 2 用公有质因数3除, 3 4 3和4互质不除了。 得:18和24最大公约数是:2×3=6 例1、求18与24的最大公约数: 短除法 想一想,如何求8251与6105的最大公约数? 点拨:辗转相除法是解决上述问题的有效方法之一,此算法是欧几 里得在公元前300左右首先提 出的,因而,又叫欧几里得 算法.
辗转相除法(欧几里得算法) 观察用辗转相除法求8251和6105的最大公约数的过程 第一步 用两数中较大的数除以较小的数,求得商和余数8251=6105×1+2146 结论: 8251和6105的公约数就是6105和2146的公约数,求8251和6105的最大公约数,只要求出6105和2146的公约数就可以了。 为什么呢? 第二步 对6105和2146重复第一步的做法6105=2146×2+1813同理6105和2146的最大公约数也是2146和1813的最大公约数。 思考:从上述的过程你体会到了什么?
完整的过程 例2 用辗转相除法求319和261的最大公约数 8251=6105×1+2146 319=261×1+58 6105=2146×2+1813 261=58×4+29 2146=1813×1+333 58=29×2 显然29是58和261的最大公约数,也就是261和319的最大公约数 1813=333×5+148 思考1:从上面的两个例子可以看出计算的规律是什么? 333=148×2+37 148=37×4+0 S1:用大数除以小数 显然37是148和37的最大公约数,也就是8251和6105的最大公约数 S2:除数变成被除数,余数变成除数 S3:重复S1,直到余数为0
例3、下面是求115与276的最大公约数的程序,把程序补充完整。 (学案T6) a=115 b=276 DO r=_____________________ a=b b=r LOOP UNTIL ___________________ PRINT a END 思考:辗转相除直到何时结束?主要运用的是哪种算法结构?
程序: 程序框图: 开始 输入a,b r=a mod b a=b b = r 否 r=0 是 输出a 结束 INPUT “a,b”;a,b DO r=a mod b a=b b=r LOOP UNTIL r=0 PRINT a END
思考:你能用当型循环结构构造算法,求两个正整数的最大公约数吗?写出程序框图和程序。思考:你能用当型循环结构构造算法,求两个正整数的最大公约数吗?写出程序框图和程序。
《九章算术》——更相减损术 算理:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之。 第一步:任意给定两个正整数;判断他们是否都是偶数。若是,则用2约简;若不是则执行第二步。 第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等为止,则这个等数或这个等数与约简的数的乘积就是所求的最大公约数。
例4、用更相减损术求120与75的最大公约数; 试着写出它的算法框图。(学案T4) 解:由于75不是偶数,把120和75以大数减小数,并辗转相减。 120-75=45 75-45=30 45-30=15 30-15=15 所以,120和75的最大公约数等于15。 更相减损是一个反复执行直到减数等于差时停止的步骤, 这实际也是一个循环结构
开始 输入:a,b i=0 i=i+1 是 a MOD 2=0且b MOD 2=0? a=a/2,b=b/2 否 b>a? 否 是 t=a,a=b,b=t a=a-b 否 a=b? 是 输出:a×2i 结束 程序: 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 b>a THEN t=a a=b b=t END IF a=a-b LOOP UNTIL a=b PRINT a*2^i END
知识拓展 • 问题提出:如何求三个正整数的最大公约数? • 分析:可以先求出其中两个数的最大公约数,用这两个数的最大公约数再与第三个数求最大公约数,所得结果就是这三个数的最大公约数。 例5,求46,115,276的最大公约数(学案T5)
小 结 辗转相除法与更相减损术的区别: (1)都是求最大公约数的方法,计算上辗转相除法以除法 为主,更相减损术以减法为主,计算次数上辗转相除法计算 次数相对较少,特别当两个数字大小区别较大时计算次数的 区别较明显。 (2)从结果体现形式来看,辗转相除法体现结果是以相除 余数为0而得到,而更相减损术则以减数与差相等而得到的。