《辗转相除法与最大公约数》PPT教学课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14
2020/12/10
开始 输入:a,b
i=0
a MOD 2=0且b MOD 2=0?
N
b>a?
Y
N
t=a,a=b,b=t
a=a-b
N a=b? Y
输出:a×2i
结束
程序:
INPUT “a,b”;a,b
i=0
WHILE a MOD 2=0 AND b MOD 2=0
a=a/2
i=i+1
b=b/2 i=i+1
18
2020/12/10
小结
比较辗转相除法与更相减损术的区别
(1)都是求最大公约数的方法,计算上辗转相除 法以除法为主,更相减损术以减法为主,计算次数 上辗转相除法计算次数相对较少,特别当两个数字 大小区别较大时计算次数的区别较明显。
(2)从结果体现形式来看,辗转相除法体现结果 是以相除余数为0则得到,而更相减损术则以减数与 差相等而得到
16
2020/12/10
更相减损术: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,
17
2020/12/10
6-3=3.
例3:用辗转相除法和更相减损术求210与714 的最大公约数.
END
8
2020/12/10
思考8:如果用当型循环结构构造算法, 则用辗转相除法求两个正整数m,n的最 大公约数的程序框图和程序分别如何表 示?
9
2020/12/10
开始
输入m,n
INPUT m,n
n=r
WHILE r>0
r=m MOD n
m=n
m=n
r>0? 否
输出m
求m除以n的余数r 是
n=r WEND PRINT m END
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
5
2020/12/10
思考5:上述求两个正整数的最大公约数
的方法称为辗转相除法或欧几里得算法.
结束
10
2020/12/10
练习1:利用辗转相除法求两数4081与
20723的最大公约数. (53)
20723=4081×5+318; 4081=318×12+265; 318=265×1+53; 265=53×5+0.
11
2020/12/10
更相减损术
“更相减损术”(也是求两个正整数的最大公约数的算法) 步骤:
Y
WEND
a=a/2,b=b/2 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
15
2020/12/10
例2 分别用辗转相除法和更相减损 术求168与93的最大公约数.
辗转相除法:168=93×1+75, 93=75×1+18, 75=18×4+3, 18=3×6.
2
思考2:对于8251与6105这两个数,由于 其公有的质因数较大,利用上述方法求 最大公约数就比较困难.注意到 8251=6105×1+2146,那么8251与6105这 两个数的公约数和6105与2146的公约数 有什么关系?
3
2020/12/10
思考3:又6105=2146×2+1813,同理, 6105与2146的公约数和2146与1813的公 约数相等.重复上述操作,你能得到8251 与6105这两个数的最大公约数吗?
8251=6105×1+2146, 6105=2146×2+1813, 2146=1813×1+333,
1813=333×5+148,
333=148×2+37,
148=37×4+0.
4
2020/12/10
辗转相除法是一个反复执行直到余数等于0停止的步骤,这实际上是
一个循环结构。
m=n×q+r
用程序框图表示出右边的过程
第一步:任意给定两个正整数;判断他们是否都是偶数。 若是,则用2约简;若不是则执行第二步。
第二步:以较大的数减较小的数,接着把所得的差与较 小的数比较,并以大数减小数。继续这个操作,直到所 得的减数和差相等为止,则这个等数或这个数与约简的 数的乘积就是所求的最大公约数。
12
2020/12/10
例、用更相减损术求98与63的最大公约数 (自己按照步骤求解)
一般地,用辗转相除法求两个正整数m,
n的最大公约数,可以用什么逻辑结构来
构造算法?其算法步骤如何设计?
第一步,给定两个正整数m,n(m>n).
第二步,计算m除以n所得的余数r.
第三步,m=n,n=r.
第四步,若r=0,则m,n的最大公约数
等 于m;否则,返回第二步.
6
2020/12/10
思考6:该算法的程序框图如何表示?
解:由于63不是偶数,把98和63以大数减小数,并辗转相减。
98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7 所以,98和63的最大公约数等于7。
13
2020/12/10
思考:更相减损直到何时结束?运用的是哪种算法结构? 更相减损是一个反复执行直到减数等于差时停止的步骤, 这实际也是一个循环结构
1.4 辗转相除法 与最大公约数
人教B版数学选修4-6《初等数论初步》
1
2020/12/10
知识探究(一):辗转相除法
思考1:18与30的最大公约数是多少?你 是怎样得到的?
先用两个数公有的质因数连续去除, 一直除到所得的商是互质数为止,然 后把所有的除数连乘起来即为最大公 约数.
2020/12/10
开始
输入m,n
求m除以n的余数r
m=n n=r r=0? 否
是 输出m
结束
7
2020/12/10
Hale Waihona Puke Baidu
思考7:该程序框图对应的程序如何表述?
开始
输入m,n
求m除以n的余数r
m=n n=r r=0? 否
是 输出m
结束
INPUT m,n
DO
r=m MODn m=n n=r LOOP UNTIL r=0
PRINT m
19
2020/12/10
20
2020/12/10
相关文档
最新文档