当前位置:首页 >> 数学 >> 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.3_算法案例_高一数学_数学_高中教育_教育专区。1.3 算法案例 教学分析 在...例 3 (1)用辗转相除法求 123 和 48 的最大公约数. (2)用更相减损术求...

1.3算法案例教案

1.3算法案例教案_数学_高中教育_教育专区。考试指南报——课堂网(www.k45.cn) 算法案例一. 【课标要求】通过阅读中国古代数学中的算法案例,体会中国古代数学对...

1.3算法案例

1.3 算法案例 第 1、2 课时 辗转相除法与更相减损术(1)教学目标 (a)知识与技能 1.理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法...

1.3算法案例(一)

1.3算法案例(一)_数学_高中教育_教育专区。高二数学教学设计教师 刘艳娟、刘玲玲 课题 1.3 算法案例(一) 课型 新授课 基础知识达标部分: 1. 辗转相除法: ...

1.3算法案例

1.3算法案例_高二数学_数学_高中教育_教育专区。1.3 算法案例 1. 8251 与 6105 的最大公约数是( A.4 B.37 ) C.148 ) D.1 813 2.如图所示的程序...

1.3算法案例

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

高中数学必修三1.3算法案例练习

高中数学必修三1.3算法案例练习_数学_高中教育_教育专区 暂无评价|0人阅读|0次下载|举报文档 高中数学必修三1.3算法案例练习_数学_高中教育_教育专区。一、选择...

1.3算法案例

1.3算法案例_数学_高中教育_教育专区。高二数学必修 3 编号:SX--02--06 1.3.1《算法案例》导学案撰稿:付阿丽 审核:付阿丽 时间:2011.08.16 姓名: 班级:...

高中数学必修3《1.3算法案例)》教案设计

高中数学必修3《1.3算法案例)》教案设计_数学_高中教育_教育专区。www.xkb1.com 新课标第一网系列资料 www.xkb1.com 新课标第一网不用注册,免费下载! 1.3...
更多相关标签:
网站地图

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