有关辗转相除法和更相减损术的问题演示文稿

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

短除法
求以下几组正整数的最大公约数。
(注:若整数m和n满足n整除m,则(m,n)=n。用(m,n)来表示
m和n的最大公约数。)
(1)(18,30) 6;
(2)(24,16)
8;
(3)(63,63) 63;
(4)(72,8) 8;
(5)(301,133 ) 7;
想一想,如何求8251与6105的最大公约数?第2页,共16页。
21-7=14, 14-7=7.
所以最大公约数是7.
第12页,共16页。
例2 分别用辗转相除法和更相减损术求168与93的最大 公约数.
辗转相除法:
168=93×1+75, 93=75×1+18,
75=18×4+3,
18=3×6.
更相减损术:
168-93=75, 93-75=18, 75-18=57, 57-18=39, 39-18=21, 21-18=3, 18-3=15, 15-3=12, 12-3=9, 9-3=6,
第8页,共16页。
开始
输入m, n
n=r
m= n 求m除以n的余数 r≠0? r 是 否 输出m
结束
INPUT m,n
WHILE r<>0 r=m MOD n m=n n=r
WEND PRINT m END
第9页,共16页。
练习:用辗转相除法求下列两数的最大公约数:
(1)(225,135)
45 (2)(98,196)
有关辗转相除法和更相减损术的问 题演示文稿
第1页,共16页。
探究一,辗转相除法
思考1:在小学中我们是如何求出两个正整数的最大公约数的 呢?
算法案例之求最大公约数
例、求18与24的最大公约数:
解:2 1 8 2 4 用公有质因数2除, 3 9 1 2 用公有质因数3除, 3 4 3和4互质不除了。
得:18和24最大公约数是:2×3=6
讨论:该算法的程序框图如何表示?
第15页,共16页。
开始
m=k 否
输入m,
n
m≠n? 否
是 k=m-
n
n>k? 输出m
是 m= n n=k
Байду номын сангаас
结束 讨论:该程序框
图对应的程序如何 表述?
第16页,共16页。
思考2:对于8251与6105这两个数,它们的最大公约数是
多少?你是怎样得到的?
由于它们公有的质因数较大,利用上述方法求最大公约数 就比较困难.有没有其它的方法可以较简单的找出它们的最大 公约数呢?
第3页,共16页。
思考3:注意到8251=6105×1+2146,那么8251与6105 这两个数的公约数和6105与2146的公约数有什么关系?
第14页,共16页。
练习:用更相减损术求两个正整数m,n的最大公约数,
可以用什么逻辑结构来构造算法?其算法步骤如何设计?
第一步,给定两个正整数m,n(m>n). 第二步,计算m-n所得的差k.
第三步,比较n与k的大小,其中大者用m表示,小 者用n表示.
第四步,若m=n,则m,n的最大公约数等于m;否则 ,返回第二步.
6-3=3.
第13页,共16页。
例4 求325,130,270三个数的最大公约数. 因为325=130×2+65,130=65×2,所以325与130的
最大公约数是65. 因为270=65×4+10,65=10×6+5,10=5×2,所以
65与270最大公约数是5. 故325,130,270三个数的最大公约数是5.
向第②步继续循环执行。
如此循环,直到得到结果。
第5页,共16页。
思考5:你能把辗转相除法编成一个计算机程序吗? 第一步,给定两个正整数m,n(m>n). 第二步,计算m除以n所得的余数r. 第三步,m=n,n=r.
第四步,若r=0,则m,n的最大公约数等于m;否则,
返回第二步.
第6页,共16页。
程序框图
第4页,共16页。
思考4:辗转相除直到何时结束? 主要运用的是哪种算法结构?
辗转相除法是一个反复执行直到余数等于0停止的步骤, 这实际上是一个循环结构
辗转相除法求两个数的最大公约数,其算法可以描述如下:
① 输入两个正整数m和n; ② 求余数r:计算m除以n,将所得余数存放到变量r中; ③更新被除数和余数:m=n,n=r。 ④判断余数r是否为0:若余数为0则输出结果,否则转
98
(3)(72,168)
24 (4)(153,119)
17
第10页,共16页。
二、更相减损术
《九章算术》是中国古代的数学专著,其中的“ 更相减损术”也可以用来求两个数的最大公约数, 即“可半者半之,不可半者,副置分母、子之数, 以少减多,更相减损,求其等也.以等数约之.”
意思是:
第一步:任意给定两个正整数,判断它们是否都是偶
数. 若是,用2约简;若不是,执行第二步.
第二步:以较大的数减去较小的数,接着把差与较 小的数比较,并以大数减小数.继续这个操作,直到所 得的数相等为止,则这个等数或这个数与约简的数的 乘积就是所求的最大公约数.
第11页,共16页。
例1:用更相减损术求98与63的最大公约数.
因为63不是偶数,所以 98-63=35, 63-35=28, 35-28=7, 28-7=21,
我们发现6105=2146×2+1813,同理,6105与2146的 公约数和2146与1813的公约数相等.
思考4:重复上述操作,你能得到8251与6105这两个 数的最大公约数吗? 8251=6105×1+2146, 1813=333×5+148, 6105=2146×2+1813, 333=148×2+37, 2146=1813×1+333, 148=37×4+0. 定义:所谓的辗转相除法,就是对于给定的两个数, 用较大的数除以较小的数,若余数不为零,则将余数 和较小的数构成新的数对,继续上面的除法, 直到大数 被小数除尽,则这是较小的数就是原来两个数的最大公约数
INPUT m,n DO
r=m MOD n m=n
n=r LOOP UNTIL r=0
PRINT m
END
开始
输入m, n 求m除以n的余数 r
m=n
n=r
r=0? 否 是
输出m
结束
第7页,共16页。
思考6:如果用当型循环结构构造算法,则用辗转相除 法求两个正整数m、n的最大公约数的程序框图和程序分 别如何表示?
相关文档
最新文档