辗转相除法与更相减损术 PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如,用辗转相除法求225和135的最大公约数 225=135×1+90
6105=2146×2+1813
135=90×1+45
2146=1813×1+333
90=45×2+0
1813=333×5+148
333=148×2+37
148=37×4+0 显然37是148和37的最大公约 数,也就是8251和6105的最 大公约数
第一步,给定两个正整数m,n(m>n). 第二步,计算m除以n所得的余数r. 第三步,m=n,n=r. 第四步,若r=0,则m,n的最大公约数等于m; 否则,返回第二步.
上述算法的程序框图如何表示?
开始 输入m,n
INPUT m,n DO
求m除以n的余数r
m=n
n=r r=0? 否
是 输出m
r= m MOD n m=n n=r LOOP UNTIL r=0 PRINT m
思考2:对于8251与6105这两个数,由于其公有的质因数 较大,利用上述方法求最大公约数就比较困难了.
注意到 8251=6105×1+2146,
8251与6105的公约数和6105与2146的公约数 有什相么同关系?
又6105=2146×2+1813, 同理,6105与2146的公约数和2146与1813的公约数相等.
两个正整数m,n的最大公约数的程序框图和程序分别如何
m≠n? 否
IF n>k THEN m=n
是
n=k
m=k
否
k=m-n n>k?
输出m
ELSE m=k
END IF
是
WEND
ቤተ መጻሕፍቲ ባይዱ
“更相减损术m”=n在中国古结代束数学专著P《RI九NT章算m术》中记述
为:可半者半之n=,k 不可半者,副置分母EN、D 子之数,以少减
多,更相减损,求其等也,以等数约之.
思考:如果用当型循环结构构造算法,则用辗转相除法求
〖创设情景,揭示课题〗
[问题1]:在小学,我们已经学过求最大公约数的知
识,你能求出18与30的最大公约数吗?
2 18 30 3 9 15
先用两个数公有的质因数连 续去除,一直除到所得的商是
35
互质数为止,然后把所有的除
∴18和30的最大公约 数连乘起来.
数是2×3=6.
ex:(1)求25和35的最大公约数(2)求49和63的最大公约数
理论迁移 例2. 求325,130,270三个数的最大公约数. 解:因为325=130×2+65,130=65×2+0,
所以325与130的最大公约数是65. 又因为270=65×4+10,65=10×6+5, 10=5×2+0, 所以65与270最大公约数是5.
故325,130,270三个数的最大公约数是5.
END
结束
练习2:利用辗转相除法求两数4081与
20723的最大公约数. (53)
20723=4081×5+318; 4081=318×12+265; 318=265×1+53; 265=53×5+0.
知识探究(二):更相减损术
思考1:设两个正整数m>n,若m-n=k,则m与n的最大公约数 和n与k的最大公约数有什相么等关. 系?
(1) 5 25 35 57
所以,25和35的最大公约数为5
(2) 7 49 63
79 所以,49和63的最大公约数为7
〖创设情景,揭示课题〗
[问题2]:我们都是利用找公约数的方法来求最 大公约数,如果公约数比较大而且根据我们的 观察又不能得到一些公约数,我们又应该怎样 求它们的最大公约数?比如求8251与6105的最 大公约数?
重复上述操作,你能得到8251与6105这两个数的
最大公约数吗37?
8251=6105×1+2146, 6105=2146×2+1813,
2146=1813×1+333, 1813=333×5+148, 1813=333×5+148, 333=148×2+37,
148=37×4+0.
完整的过程
8251=6105×1+2146
课堂练习
1.用辗转相除法计算60与48的最大公约数时, 需要做__________次除法运算。
2.分别用辗转相除法和更相减损术计算288与123的最大公
约数。 课堂小结
1.辗转相除法
2.更相减损术
课后作业
程序框图
程序
开始 输入m,n
I其NP对UT应的m程,序n WHIL如E何?m<>n
k=m-n
显然45是90和45的最大公约数,也就是 225和135的最大公约数
思考:从上面的两个例子可 以看出计算的规律是什么?
S1:用大数除以小数
S2:除数变成被除数,余数变成除数
S3:重复S1,直到余数为0
辗转相除法是一个反复执行直到余数等于0停止的步骤,
这实际上是一个循环结构。
m=n×q+r
用程序框图表示出右边的过程
8251=6105×1+2146
r=m MOD n m=n n=r
r=0?
否
是
6105=2146×2+1813 2146=1813×1+333 1813=333×5+148
333=148×2+37 148=37×4+0
上述求两个正整数的最大公约数的方法称为 辗转相除法或欧几里得算法.
一般地,用辗转相除法求两个正整数m,n的最大公约数, 可以用什么逻辑结构来构造算法?其算法步骤如何设计?
——辗转相除法与更相减损术
复习回顾
1.研究一个实际问题的算法,主要从算法步骤、程序框图 和编写程序三方面展开.在程序框图中算法的基本逻辑结 构有哪几种?在程序设计中基本的算法语句有哪几种?
新课引入
2.“求两个正整数的最大公约数”是数学中的一个基础性 问题,它有各种解决办法,我们以此为案例,对该问题的 算法作一些探究.
反复利用这个原理,可求得:
98与63的最大公约数为多7少?
98-63=35, 63-35=28, 35-28=7, 28-7=21, 21-7=14,
这种求两个正整数的最大公约数的 方法称为更相减损术.
14-7=7.
理论迁移
例1.求168与93的最大公约数.
(要求:分别用辗转相除法和更相减损术)
辗转相除法:
168=93×1+75, 93=75×1+18,
更相减损术: 168-93=75, 93-75=18, 75-18=57, 57-18=39,
75=18×4+3,
39-18=21, 21-18=3,
18=3×6+0.
18-3=15, 15-3=12,
故最大公约数为3 12-3=9,
9-3=6,
6-3=3.