下载此文档

算法案例之求最大公约数课件.pptx


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
算法案例之求最大公约数
求以下几组正整数的最大公约数。
(注:若整数m和n满足n整除m,则(m,n)=n。用(m,n)来表示
m和n的最大公约数。)
(1)(18,30) (2)(24,16)
1)(225,135) (2)(98,196)
(3)(72,168) (4)(153,119)
45
98
24
17
4
感谢你的欣赏
2019-10-6
次数
1
2
3
4
5
6
m
n
r
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
(8251,6105)
=(6105,2146)
=(2146,1813)
=(1813,333)
=(333,148)
=(148,37)
=37
关系式m=np+r中m,n,r得取值变化情况
8251
6105
2146
6105
2146
2146
1813
1813
333
1813
333
148
148
333
37
148
37
0
5
感谢你的欣赏
2019-10-6
辗转相除法求两个数的最大公约数,其算法可以描述如下:
辗转相除法是一个反复执行直到余数等于0停止的步骤,
这实际上是一个循环结构
思考:辗转相除直到何时结束?主要运用的是哪种算法结构?
如此循环,直到得到结果。
① 输入两个正整数m和n;
② 求余数r:计算m除以n,将所得余数存放到变量r中;
③更新被除数和余数:m=n,n=r。
④判断余数r是否为0:若余数为0则输出结果,否则转
向第②步继续循环执行。
6
感谢你的欣赏
2019-10-6
开始
输入:m,n
输出:m
结束
r=0?
m=n
N
Y
r=m MOD n
n=r
程序:   INPUT “m,n=”;m,n   DO
r=m MOD n   m=n   n=r   LOOP UNTIL r=0   PRINT m   END
7
感谢你的欣赏
2019-10-6
更相减损术
同理:a,b,c为正整数,若a-b=c,则(a,b)=(b,c)。
“更相减损术”(也是求两个正整数的最大公约数的算法)
步骤:
第一步:任意给定两个正整数;判断他们是否都是偶数。
若是,则用2约简;若不是则执行第二步。
第二步:以较大的数减较小的数,接着把所得的差与较
小的数比较,并以大数减小数。继续这个操作,直到所
得的减数和差相等为止,则这个等数就是所求的最大公
约数。
8
感谢你的欣赏
2019-10-6
例、用更相减损术求98与63的最大公约数
(自己按照步骤求解)
解:由于63不是偶数,把98和63以大数减小数,并辗转相减。
= 7
所以,98和63的最大公约数等于7。
(98,63)
=(63,35)
98-63=35
63-35=28
=(35,28)
35-28=7
=(28,7)
28-7=21
=(21,7)
21-7=14
=(14,7)
14-7=7
=(7,7)
9
感谢你的欣赏
2019-10-6
练习:用更相减损术求下列两数的最大公约数:
(1)(225,135) (2)(98,196)
(3)(72,168) (4)(153,119)
45
98
24
17
10
感谢你的欣赏
2019-10-6
例 用更相减损术求98与63的最大公约数
解:由于63不是偶数,把98和63以大数减小数,
并辗转相减                98-63=35                63-35=28                35-28=7                28-7=21
21-7=14       14-7=7 所以,98和63的最大公约数等于7。
(98,63)
=(63,35)
=(35,28)
=(28,7)
=(21,7)
=(14,7)
=(7,7)
=7
次数
1
2
3
4
5
6
a
98
63
35
28
21
14
b
63
35

算法案例之求最大公约数课件 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人bb21547
  • 文件大小201 KB
  • 时间2022-07-10