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