当前位置:首页 >> 数学 >> 1.3算法案例(1)

1.3算法案例(1)


算 法 案 例

思考: 小学学过的求两个数最大公约数的方法? 先用两个公有的质因数连续去除,一直除到所 得的商是互质数为止,然后把所有的除数连乘起来.
(1)求25和35的最大公约数;(2)求18和30的最大公约数. 2 18 30 5 25 35 5 7 所以,25和35的最大公 约数为5.

9 15 3 5 所以,18

和30的最大公 约数为6.

3

想一想:除了用这种方法外还有没有其它方法?

算出8256和6105的最大公约数.

辗转相除法(欧几里得算法) 观察用辗转相除法求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

练 用辗转相除法求225和135的最大公约数 225=135×1+90 135=90×1+45 90=45×2 显然45是90和45的最大公约数,也就是 225和135的最大公约数

1813=333×5+148 333=148×2+37
148=37×4+0

思考1:从上面的两个例子可以看 出计算的规律是什么?

S1:用大数除以小数

显然37是148和37的最大公约数, S2:除数变成被除数,余数变成 也就是8251和6105的最大公约 除数 数

S3:重复S1,直到余数为0

辗转相除法是一个反复执行直到余数等于0停止 的步骤,这实际上是一个循环结构。
m=n×q+r
8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333 1813=333×5+148 333=148×2+37 148=37×4+0 是 r=m MOD n m=n n=r r=0? 否

用程序框图表示出左边的过程:

1、辗转相除法(欧几里得算法) (1)算理:所谓辗转相除法,就是对于给定 的两个数,用较大的数除以较小的数。若余 数不为零,则将余数和较小的数构成新的一 对数,继续上面的除法,直到大数被小数除 尽,则这时较小的数就是原来两个数的最大 公约数。

(2)算法步骤
第一步:输入两个正整数m,n(m>n). 第二步:计算m除以n所得的余数r. 第三步:m=n,n=r. 第四步:若r=0,则m,n的最大公约数等于m; 否则转到第二步.

第五步:输出最大公约数m.

(3)程序框图
开始 输入m,n r=m MOD n m=n

(4)程序
INPUT “m,n=“;m,n DO r=m MOD n m=n n=r LOOP UNTIL r=0 否 PRINT m

n=r
r=0? 是 输出m 结束

END

练习:算出261和319的最大公约数. 319=261×1+58 261=58×4+29 58=29×2 所以261和319的最大公约数是29.

《九章算术》——更相减损术 算理:可半者半之,不可半者,副置分母、子 之数,以少减多,更相减损,求其等也,以等 数约之。
第一步:任意给定两个正整数;判断他们是否都是 偶数。若是,则用2约简;若不是则执行第二步。
第二步:以较大的数减较小的数,接着把所得的差 与较小的数比较,并以大数减小数。继续这个操作, 直到所得的减数和差相等为止,则这个等数就是所 求的最大公约数。

例3 用更相减损术求98与63的最大公约数
解:由于63不是偶数,把98和63以大数减小数, 并辗转相减 98-63=35 63-35=28 35-28=7 28-7=21 21-7=21 14-7=7 所以,98和63的最大公约数等于7 练习: 用更相减损术求两个正数84与72的最大公约数.
先约简,再求21与18的最大公约数,然后乘 以两次约简的质因数4

2、更相减损术 (1)算理:所谓更相减损术,就是对于给 定的两个数,用较大的数减去较小的数,然 后将差和较小的数构成新的一对数,再用较 大的数减去较小的数,反复执行此步骤直到 差数和较小的数相等,此时相等的两数便为 原来两个数的最大公约数。

(2)算法步骤
第一步:输入两个正整数a,b;

第二步:若a不等于b ,则执行第三步;否则转 到第五步; 第三步:把a-b的差赋予r;
第四步:如果b>r, 那么把b赋给a,把r赋给b;否 则把r赋给a,执行第二步; 第五步:输出最大公约数b.

(3)程序框图 (4)程序
INPUT “a,b=“;a,b WHILE a<>b r=a-b IF b>r THEN a=b b=r ELSE a=r END IF WEND PRINT b END

开始
输入a,b a≠b? 是 r=a-b a=r 否 r<b? 是 a=b b=r 否

输出b
结束

求324、243、135这三个数的最大公约数。
思路分析:求三个数的最大公约数可以先求出两个 数的最大公约数,第三个数与前两个数的最大公约 数的最大公约数即为所求。

1、用辗转相除法求123和48的最大公约数。 2、用更相减损术求80和36的最大公约数。 3、求319,377,116的最大公约数。

小结

比较辗转相除法与更相减损术的区别
(1)都是求最大公约数的方法,计算上辗转相除

法以除法为主,更相减损术以减法为主,计算次数

上辗转相除法计算次数相对较少,特别当两个数字
大小区别较大时计算次数的区别较明显。 (2)从结果体现形式来看,辗转相除法体现结果 是以相除余数为0则得到,而更相减损术则以减数与 差相等而得到


更多相关文档:

1.3 算法案例知识点,试题及答案

1.3 算法案例知识点,试题及答案_数学_高中教育_教育专区。一、知识要点及方法...1 所占用的单元内。这样,我们只要设置一个单元 v 进行 累算,而将式(1)表...

1.3算法案例(教、学案)

(1).k 进制转换为十进制的方法: ,(2).十进制转化为 k 进制数 b 的步骤...【板书设计】 : 1.3 算法案例 一、辗转相除法 例1 作业二、更相减损术 三...

1.3算法案例1

1.3算法案例1_数学_高中教育_教育专区。1.3 算法案例 第一、二课时 辗转相除法与更相减损术 (1)教学目标 (a)知识与技能 1.理解辗转相除法与更相减损术中...

1.3 算法案例

44页 免费 1.3算法案例(全) 5页 免费 1.3 算法案例(1) 20页 免费 ...2页 1财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议...

《1.3 算法案例(1)》测试题

1.3 算法案例(1)》测试题_数学_高中教育_教育专区。《1.3 算法案例(1)》测试题 一、选择题 1.下列说法中正确的个数( ). ⑴辗转相除法也叫欧几里德...

1.3算法案例

1.3算法案例_数学_高中教育_教育专区。1.3 算法案例 [自我认知]: 1.用辗转相除法求 840 与 1785 的最大公约数: 班次 姓名 2.用更相减损术求 612 与 ...

1.3_算法案例

1.3_算法案例_高一数学_数学_高中教育_教育专区。1.3 算法案例 教学分析 在...例 3 (1)用辗转相除法求 123 和 48 的最大公约数. (2)用更相减损术求...

1.3算法案例

1.3算法案例_高一数学_数学_高中教育_教育专区。1.3算法案例1.3 算法案例 教学目标:掌握三个案例,理解辗转相除法,更相减损术,秦九韶算法,进位制。 教学重、...

1.3算法案例

1.3算法案例_数学_高中教育_教育专区。高二数学必修三1. 3 算法案例 (讲) 在初中,我们已经学过求最大公约数的知识,你能求出 18 与 30 的公约数吗? 我们...
更多相关标签:
1.3算法案例教案 | 1.3算法案例ppt | 算法案例ppt | 智能算法30个案例分析 | 算法案例 | pagerank算法应用案例 | 算法的概念和案例 | 启发式算法的应用案例 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com