1.3(1)辗转相除法课件

合集下载

高中数学 1.3 第1课时 辗转相除法与更相减损术、秦九韶算法课件 新人教A版必修3

高中数学 1.3 第1课时 辗转相除法与更相减损术、秦九韶算法课件 新人教A版必修3
回 第______步. 0

②程序框图如图所示.
③程序:
INPUT m,n
DO
r=m MOD n
m=n
n=r
LOOP UNTIL _______
PRINT _______ r=0
END
m
(2)更相减损术.
算法步骤:
第一步,任意给定两个正整数,判断它们是否都是 ________.若是,用______约简;若不是,执行第二步.
[答案] 用2约简
[解析] 由于294和84都是偶数,先用2约简.
3.设计程序框图,用秦九韶算法求多项式的值,所选用的结 构是( )
A.顺序结构
B.条件结构
C.循环结构
D.以上都有
[答案] D
4.(2013~2014·云南省景洪一中月考)用秦九韶算法计算多 项式f(x)=3x6+2x5+4x4+5x3+7x2+8x+1在x=0.5时的值, 需做乘法和加法的次数分别是________.
序如下:
S=0 i=1 WHILE S<=10^6
i=i+1 S=S+1/i^2 WEND PRINT i END
新知导学 1.辗转相除法与更相减损术 (1)辗转相除法. ①算法步骤: 第一步,给定两个正整数m,n. 第二步,计算m除以n所得的余数r. 第三步,m=n,n=r. 第四步,若r=______,则m,n的最大公约数等于m;否则返
求值比较先进的算法,其实质是转化为求n个________多项
式的值,共进行________次乘法运算和____一__次_次加法运 算.其过程是:
n
nHale Waihona Puke 改写多项式为:f(x)=anxn+an-1xn-1+…+a1x+a0 =(anxn-1+an-1xn-2+…+a1)x+a0 =((anxn-2+an-1xn-3+…+a2)x+a1)x+a0=… =(…((anx+an-1)x+an-2)x+…+a1)x+a0. 设v1=__________, v2=v1x+ana-nx2+,an-1 v3=v2x+an-3, …,

12-13高一数学:1.3.1辗转相除法与更相减损术1课件(人教A必修3)

12-13高一数学:1.3.1辗转相除法与更相减损术1课件(人教A必修3)

•1. 3算法案例第1课时極特相除法与更相濒损术* T «• ** T • -t * * 1 « *KQZZYX课前自主预习• 1.用两数中较人的数减去较小的数, 再用所得差和较小数构成新的一对数,再用______ ^减______ ;数以同样的操作一直做下去,直到所得的两数相等为止,这个数就是这两个数的最大公约数.这个方法称作“更相减损术”,用它编写的算法称作“等值算法”・• 2.古希腊求两个正整数的最大公约数的方法是辗转相除法:用较大数除以较小数所得的余数和较小数构成新的一对数,继续做上面的除法,直到大数被小数除尽, 这个较小的数就是最大公约数.据此编写的算法,也称作“欧几里得算法” •3・对于正整数加与n(m>n),总能找到整数g 和r(O<r<n)使得m=nq+rf^立,这个除法称为带余除法.通常记r=mMODn.ZDNDZS 重点难点展示•重点:算法案例的原理、算法设计及算法思想的体会.•难点:理解算法案例的内容及具体算法设计的关键步骤.XXYDDB学习要点点拨• 一、弄清算法原理,掌握算法程序,经历蠶翳■,聶’体会算法设计的关键环节,• 1 •辗转相除法•(1)辗转相除的原理:・设zn, 〃是两个整数(不妨设m>ri),用加除以〃,若商为务, 余数为厂1(00]<小则m = n・牛+厂1,显然若兀是加和〃的公约数,即x能整除加和弘贝吹也必然能整除厂1,这样x也是〃和厂]的公约数,故求加和〃的公约数就是求〃和厂1的公约数;同理,用〃除以厂1,得n = r x -^2 + ^(0<^<^),故求加和斤的公约数就是求厂2和厂1的公约薮,…,依次下去,由于加>〃>厂]>厂2>…,所以到某一步必然有r z = r/+19q汁"即耳恰能被厂计]整除,这时耳+1是耳和厂j+1的最关公约数,它也必然是耳_1和乙、厂—2和耳_1、…、厂1与厂2、〃和厂2、加和〃的最大公约数.• (2)辗转相除法的算法分析:•由以上辗转相除法的原理可以发现,辗转相除法的基本步骤是用较大的数除以较小的数,考虑到算法中的赋值语句可以对同一变量多次赋值,我们可以把较大的数用变量加表示,把较小的数用变量〃表示,这样式子m = n -q + r(O<r<^)就是一个反复执行的步骤,因此可以用循环结构实现算法.如图.• (3)用辗转相除法求任意两个正整数最大公约数的程序框图. •由于辗转相除法总是用较大的数去除以较小的数,所以首先要对一开始给定的两数的大小进行判断,并将大数赋给加,小数赋给弘然后再执行下面的过程.程序框图如图.(开始)*/输入a,bt 二a 仃二I)b=tEND IF丁二 1WHILE r< >0 「二a MOD b a = b b -rWENDPRINT aEND•2.更相减损术•(1)更相减损术求两数最大公约数的过程与算法设计.•对于给定的两个数,用较大的数减去较小的数,接着把得到的差与较小的数比较,用这时两个数中较大的数减去较小的数,继续这样的操作(夭数减小藪:),直到所得的数相等为止,那么这个数(相等数)就是所求的最大公约数.•显然,上述过程中大数减去小数是一个重复执行的过程,因此只需将大数赋给变量a,小数赋给变量b,那么就可以通过循环结构实现算法.或当时,将d —b赋给b = b,当xb 时,a=a,将赋给b然后再进行比较,依次类推用循环结构实现.•⑵更相减损术求最大公约数的程序设计女口T:•请自行将其直到型循环结构算法写岀来. • 3 •辗转相除法与更相减损术有着相同的算法依据,但要注意运算过程的差别,辗转相除法的上一次运算的除数和余数分别作为下一次运算的被除数和除数,其结果直至余数为零得出.更相减损术在上一次运算结束后,比较减数和差的大小,将大的作为下一次运算的被减数,小的作为减数,直至岀现相等数时得到结果.•由此可见,二者算法是相似的.主要区别在于,辗转相除法进行的是除法运算,即辗转相除,更相减损术进行的是减法运算, 即辗转相减,但其实质都是一个不断的递归过程.另外两者在算法设计上有一个重要的区别点,辗转相除法,下一次进行相除时,由上一次的除数和余数直接相除即可.而更相减损术下一次相减前必须有一个判断大小的过程,以区别谁做被减数.这些内容都是应特别注意的关键环节.• 4.用更相减损术求两正整数的最大公约数时,若两数为偶数,可先约去2,这时莫忘记求得的相等两数乘以约简的数才是所求最夫公约薮.STYYLX 随堂应用练习•一、填空题•1.在对16和12求最大公约数时,整个操作如下:(16,12)—- (4,12)—- (4,8)—-(4,4),由匕可以看出12和16的最大公约数是•[答案]4• 2. 1443与999的最大公约数是_________ •[答案]111•[解析]• (999,1443)——(999,444)——(555,444)一-> (111,444)一一(111,333)—一(111,222)一->( 111,111)•或1443 ・ 999 = 444,999 - 444 = 555,555 - 444 = 111,444 - 111 = 333,333 - 111 = 222,222 - 111 = 111.•自己用辗转相除法写出解答过程.• 3.运算速度快是计算机一个很重要的特点,而算法好坏的一个重要标志是■•[答案]运算次数• 4. 2004与4509的最大公约数为167.・・ 2004 = 22 x3 x 167.450915()3501167•[答案]5012004 2 1002 2 501 3•「.4509 = 33x167 , •••2004与4509的最大公约数为3x167 = 501.•自己用辗转相除法和更相减损术写出解答.•二、解答题• 5.写出从键盘任意输入两个正整数a, b, 输出这两个数的最小公倍数的算法,画出程序框图,写出算法语句.[解析]约数匕程序框图如右图.程序为:INPUT “正整数°, b = p=a*bIF a<b THENEND IFDO从键盘输入两数Q, 再计算两数的最小公倍数b后,先求两数的最大公a-b亠人tP~~k,输出P即可.r/ 输* a,b 7。

1.3.1辗转相除法与更相减损术

1.3.1辗转相除法与更相减损术

思考:
小学学过的求两个数的最大公约数的方法?
先用两个公有的质因数连续去除, 一直除到所得的商是互质数为止,然后 把所有的除数连乘起来.
例:求下面两个正整数的最大公约数: (1)求25和35的最大公约数 (2)求49和63的最大公约数
(1) 5 25 35 5 7 所以,25和35的最 大公约数为5 (2)7 49 63
225=135×1+90 135=90×1+45 90=45×2 显然45是90和45的最大公约数,也就是225和135的最 大公约数
思考1:从上面的两个例子中可以看出计算的规 律是什么?
S1:用大数除以小数
S2:除数变成被除数,余数变成除数 S3:重复S1,直到余数为0
辗转相除法是一个反复执行直到余数等于0才停 止的步骤,这实际上是一个循环结构。m = n × q + r 用程序框图表示出右边的过程
***思考:你能根据更相减损术设计程序,求两 个正整数的最大公约数吗?
(1)、算法步骤 第一步:输入两个正整数a,b(a>b); 第二步:若a不等于b ,则执行第三步;否则转 到第五步; 第三步:把a-b的差赋予r; 第四步:如果b>r, 那么把b赋给a,把r赋给b;否 则把r赋给a,执行第二步;
二、更相减损术
1、背景介绍:
(1)、《九章算术》中的更相减损术:
可半者半之,不可半者,副置分母、子之数,以少 减多,更相减损,求其等也,以等数约之。
(2)、现代数学中的更相减损术:
第一步:任意给定两个正整数;判断他们是否都是 偶数。若是,则用2约简;若不是则执行第二步。 第二步:以较大的数减去较小的数,接着把所得的 差与较小的数比较,并以大数减小数。继续这个操 作,直到所得的数和差相等为止,则这个等数或这 个数与约简的数的乘积就是所求的最大公约数。

人教版高中数学必修三课件:1.3 算法案例(共55张PPT)

人教版高中数学必修三课件:1.3 算法案例(共55张PPT)

解:用辗转相除法求最大公约数:612=468×1+144,468=144×3+36,144=36×4,即612
和468的最大公约数是36. 用更相减损术检验:612和468均为偶数,两次用2约简得153和117,153-117=36,11736=81,81-36=45,45-36=9,36-9=27,27-9=18,18-9=9,所以612和468的最大公约数为
转化为求n个一次多项式的值.
预习探究
知识点二 进位制
1.进位制:进位制是为了计数和运算方便而约定的记数系统,约定“满k进一”就 是 k进制 ,k进制的基数(大于1的整数)就是 k . 2.将k进制数化为十进制数的方法:先把k进制数写成各位上的数字与k的幂的乘积之和 的形式,再按照十进制数的运算规则计算出结果. 3.将十进制数化为k进制数的方法是 除k取余法 .即用k连续去除十进制数所得 的 商 ,直到商为零为止,然后把各步得到的余数 倒序 写出.所得到的就是相应的k 进制数. 4.k进制数之间的转化:首先转化为十进制数,再转化为 k进制数.
第一章 算法初步
1.3 算法案例 第2课时 秦九韶算法与进位制
预习探究
知识点一 秦九韶算法
1.秦九韶算法是我国南宋数学家秦九韶在他的著作《数书九章》中提出的一 个用于计算多项式值的方法. 2.秦九韶算法的方法: 把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0 改写成下列的形式: f(x)=(anxn-1+an-1xn-2+…+a1)x+a0= ((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =…=

1.3 第1课时 辗转相除法与更相减损术、秦九韶算法

1.3  第1课时  辗转相除法与更相减损术、秦九韶算法
(2)求49和63的最大公约数
(1) 5 25 5 35 7
所以,25和35的最大公 约数为5.
所以,49和63的最大公 约数为7.
7
9
思考2:算出8251和6105的最大公约数. 第一步:用两数中较大的数除以较小的数,求得商和余 数8251=6105×1+2146
结论:8251和6105的公约数就是6105和2146的公约数,
例4
阅读下列程序,说明它解决的实际问题是什么? INPUT “x=”;a n=0 y=0 WHILE n<5 y=y+(n+1)*a∧n n=n+1 WEND PRINT y END
求多项式 f(x)=1+2x+3x2+4x3+5x4在x=a时的值.
1.利用辗转相除法求两数4081与20723的最大公约数.
8251=6105×1+2146
r=m MOD n
m = n n = r
6105=2146×2+1813
2146=1813×1+333 1813=333×5+148
r=0? 是

333=148×2+37
148=37×4+0
辗转相除法(欧几里得算法) (1)算理:所谓辗转相除法,就是对于给定的两个数,
第五步:输出最大公约数m.
(4)程序 INPUT DO r=m m=n MOD n “m,n=”;m,n
(3)程序框图
开始 输入m,n
求m除以n的余数r
m=n n=r
n=r
LOOP UNTIL PRINT END m r=0
r=0? 是
输出m 结束

数学人教A版必修3课件:第一章 1.3 第1课时 辗转相除法与更相减损术

数学人教A版必修3课件:第一章 1.3 第1课时 辗转相除法与更相减损术

求三个正整数的最大公约数
典例 用辗转相除法和更相减损术两种方法,求三个数72,120,168的最大公 约数.
素养评析 (1)求多个正整数的最大公约数,先求两个数的最大公约数,再 求这个最大公约数与另一个数的最大公约数,依次类推. (2)求最大公约数,首先要设计运算方案,选择运算方法,求得运算结果, 所以说,这类题目是培养学生数学核心素养的重要内容.
3 达标检测
PART THREE
1.1 337与382的最大公约数是
A.3
√C.191
B.382 D.201
解析 1 337=382×3+191,382=191×2,所以1 337与382的最大公约数是191.
12345
2.下列各组关于最大公约数的说法中不正确的是 A.16和12的最大公约数是4 B.102和84的最大公约数是6
√C.85和357的最大公约数是34
D.105和315的最大公约数是105 解析 85和357的最大公约数是17.
12345
3.用更相减损术求36与134的最大公约数,第一步应为_先__除__以__2_,__得__到__1_8_与__6_7__. 解析 ∵36与134都是偶数, ∴第一步应为先除以2,得到18与67. 4.已知a=333,b=24,则使得a=bq+r(q,r均为自然数,且0≤r<b)成立的q 和r的值分别为__1_3_,2_1___. 解析 用333除以24,商即为q,余数就是r.333÷24=13……21.
思考辨析 判断正误
SIKAOBIANXIPANDUANZHENGWU
1.辗转相除法的基本步骤是用较大的数除以较小的数.( √ ) 2.求最大公约数的方法除辗转相除法之外,没有其他方法.( × ) 3.编写辗转相除法的程序时,要用到循环语句.( √ )

高一数学 1.3.1 辗转相除法与更相减损术、秦九韶算法课件 新人教A版必修2

§1.3 算法案例
第一课时 辗转相除法与更相减损术、秦九韶算法
自学导引 1.理解辗转相除法与更相减损术的含义,了解执行过程. 2.掌握秦九韶算法的计算过程,了解它在数学计算中的应用. 3.进一步体会算法的基本思想.
课前热身
欧几里得算法
两个正整数的最大公约数
1.辗转相除法是用于求
_____________________的一种方 较大的数
解:解法1(辗转相除法):先求175与100的最大公约数: 175=100×1+75, 100=75×1+25, 75=25×3. ∴175与100的最大公约数是25. 以下再求25与75的最大公约数: 75=25×3 ∴25和75的最大公约数是25.
故25是75和25的最大公约数,也就是175、100、75的最大公约数.
Hale Waihona Puke (3)任何两个数,用辗转相除法求其最大公约数的程序框图. 由于辗转相除法总是用较大的数去除以较小的数,所以首先要对一 开始给定的两数的大小进行判断,并将大数赋给m,小数赋给n,然 后再执行下面的过程.程序框图如下图所示:
(4)辗转相除法求两个数的最大公约数的程序设计.
INPUT “a,b”;a,b IF a<b THEN t=a a=b b=t END IF r=a MOD b WHILE r<>0 a=b b=r r=a MOD b WEND PRINT b END
解:(1)98和63 辗转相除法 S1 98=63 ×1+35, S2 63=35 ×1+28, S3 35=28×1+7, S4 28=4 ×7, 最大公约数为7.
更相减损术 S1 98-63=35, S2 63-35=28, S3 35-28=7, S4 28-7=21, S5 21-7=14, S6 14-7=7, 故98和63的最大公约数为7.

高中数学人教A版必修3第一章1.3算法案例课件



9- 3= 6
6 - 3 = 3 减数与差相等
3×2=6
78与36的最大公约数为6.
更相减损术
问题6.根据更相减损术的过程,设计求两个正整数m,n最 大公约数的算法,需要用到什么逻辑结构?为什么?
第一步:任意给定两个正整 算法分析:
数,判断它们是否都是偶数。第一步,给定两个正整数m,n(m>n).
更相减损术
例2. 用更相减损术求78与36的最大公约数.
解: 78与36都是偶数
“可半”
78 ÷ 2 = 39 36 ÷ 2 = 18
“可半者半之”
除 完
39 - 18 = 21 大减小 21 - 18 = 3

18 - 3 = 15

15 - 3 = 12
“更相减损”(辗转相减)

12 - 3 = 9
2 18 30 3 9 15 35
18与30的最大公约数为2 3 6 .
问题1. 求8251与6105的最大公约数. 可以使用短除法吗?
困难:两数比较大、公约数不易视察。 (辗转相除法、更相减损术)
知问
思考1:辗转相除法与更相减损术可以用来解 决什么问题? 可以解决求两个正整数最大公约数的任何问题。
《九章算术》——更相减损术
“可半者半之,不可半者,副置分母、子之数,以少 减多,更相减损,求其等也,以等数约之。”
《九章算术》
刘徽
《九章算术》其作者已不可 考,现今流传的大多是在三 国时期刘徽为《九章》所作 的注本。它是中国古代第一 部数学专著,系统总结了战 国、秦、汉时期的数学成绩, 收录了246个数学问题及其 解法,是当时世界上最简练 有效的应用数学,它的出现 标志中国古代数学形成了完 整的体系。

辗转相除法算法课课件


教材分析
目标分析
过程分析
教法分析
评价分析
程序三:鼓励拓展 ,飞跃点睛
问题四:求m与n的最大公约数(其中,m,n是正整数且m>n)
请写出相应的算法。
难点1:字母问题较抽象,不易想象。 难点2:从算法中提炼循环结构。确定循环体、循环结束的条件。
126 mod 98=28
m
mod
n = r, m=n ,n=r
原理----- (126,98)=(98,28)=(28,14)
设计意图
(1)可采用短除法、质因数分解法。
目的是让学生回顾已有知识, (2)同时,引导学生考虑是否还有别的方法。 目的是让学生并再次感知辗转相除法, 并揭示辗转相除法的原理。 教材分析 目标分析 过程分析 教法分析 评价分析
程序二:合作学习,探索新知
教材分析过程分析教法分析教材分析目标分析过程分析教法分析评价分析教材分析过程分析目标分析教法分析评价分析教材分析目标分析过程分析教法分析评价分析通高中课程标准实验教科书必修3第一章第三节第一课时
人教A版普通高中课程标准实验教科书《数学》(必修3)
辗转相除法
说课人: 周郑鹃
教材分析 学情分析
教学目标 教法学法 教学过程 评价分析
教材分析 目标分析 过程分析 教法分析 评价分析
教材分析
教材的地位和作用 本节课是人教版/普通高中课程标准/实验教科书 必修3/第一章第三节第一课时。 算法是计算机科学的重要基础,算法思想已渗透 在日常生活中的方方面面。学习算法不仅对已学过的 数学知识(如:四则运算,解方程)能有更深刻的认 识,而且对今后将要学习的数列问题也有帮助。 本节课通过探究古代算法案例---辗转相除法,进 一步巩固算法的三种语言(自然语言、程序框图和程 序语句),“使学生体会算法的基本思想,发展有条 理的思考和表达能力”,符合新课标提出的要求和建 议。 教材分析 目标分析 过程分析 教法分析 评价分析

1、3、1算法案例(辗转相除法)


你从中看到了 怎样的规律? 怎么用程序框 图来描述呢?
所以, 所以,当x = 5时,多项式的值等于 时 多项式的值等于17255.2
开始
程序框图:
输入f(x)的系数: a0,a1,a2,a3,a4a5 输入x0
v0 = an vk = vk−1 x + an−k (k =1,2,L, n)
课堂小结: 课堂小结:
1、秦九韶算法的方法和步骤 、 2、秦九韶算法的程序框图 、
算法步骤: 第一步:给定两个正整数m,n; 第二步:计算m除以n所得的余数r; 第三步:m=n,n=r; 第四步:若r=0,则m,n的最大公约数等于m; 否则,返回第二步。
开始
程序框图: 程序:
输入m,n 求m除以n的余数r m=n n=r 否 r=0 ? 是 输入m
INPUT m,n DO r= m MOD n m=n n=r LOOP UNTIL r=0 PRINT m END
按由里到外的顺序,依此计算一次多项式当 时的值: 按由里到外的顺序,依此计算一次多项式当x = 5时的值: 时的值
v0 = 5 v1 = 5×5+ 2 = 27 v2 = 27×5+3.5 =138.5 v3 =138.5×5− 2.6 = 689.9 v4 = 689.9×5+1.7 = 3451.2 v5 = 3451.2×5−0.8 =17255.2
结束
欧几里得辗转相除法找出a,b的最大公约数的步骤是: (1)计算a÷b的余数r,若r=0,则b为a,b的最大公约数; (2)若r≠0,则把前面的除数b作为新的被除数,把r作 为新的除数,继续运算,直到余数为0,此时的除数即为 a,b的最大公约数.
算 法 案 例
第二课时
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

思考8:如果用当型循环结构构造算法, 则用辗转相除法求两个正整数m,n的最 大公约数的程序框图和程序分别如何表 示?
开始
输入m,n
n=r
m=n 求m除以n的余数r r>0? 否 输出m 结束

INPUT m,n WHILE r>0 r=m MOD n m=n n=r WEND PRINT m END
Hale Waihona Puke 先用两个数公有的质因数连续去除, 一直除到所得的商是互质数为止,然 后把所有的除数连乘起来即为最大公 约数.
思考2:对于8251与6105这两个数,由于 其公有的质因数较大,利用上述方法求 最大公约数就比较困难.注意到 8251=6105×1+2146,那么8251与6105这 两个数的公约数和6105与2146的公约数 有什么关系?
学习目标
1.理解辗转相除法与更相减损术求最大公约 数的原理。 2.能写出两种求最大公约数方法的算法步骤 与程序框图。 3.会求出两个数的最大公约数,进一步体会 算法的基本思想以及算法在解决问题的过 程中所体现的特点。
知识探究(一):辗转相除法
思考1:18与30的最大公约数是多少?你 是怎样得到的?
比较辗转相除法与更相减损术的区别
(1)都是求最大公约数的方法,计算上辗转相除 法以除法为主,更相减损术以减法为主,计算次数
上辗转相除法计算次数相对较少,特别当两个数字
大小区别较大时计算次数的区别较明显。 (2)通过辗转相除和更相减损术来求两个数的最 大公约数的案例分析,感受其中所蕴含的算法基本 思想,重点培养学生利用算法思想的逻辑思维能力。
例3 . 用两种方法求612与468的最大公 约数? 方法一:辗转相除法 612=468×1+144, 468=144×1+36, 144=36×4+0.
方法二:更相减损术 612与468都是偶数,所以两次用2约分 化简 612=153×4 468=117×4 153-117=36 117-36=81 81-36=45 45-36=9 36-9=27 27-9=18 18-9=9 9是153与117的最大公约数。 9×4=36是612与468的最大公约数。
练习1:利用辗转除法求两数4081与 20723的最大公约数. (53) 20723=4081×5+318;
4081=318×12+265;
318=265×1+53; 265=53×5+0.
更相减损术
“更相减损术”(也是求两个正整数的最大公约数的算 法) 步骤:
第一步:任意给定两个正整数;判断他们是否都 是偶数。 若是,则用2约简;若不是则执行第二步。
思考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.
第二步:以较大的数减较小的数,接着把所得的 差与较小的数比较,并以大数减小数。继续这个 操作,直到所得的减数和差相等为止,则这个等 数或这个数与约简的数的乘积就是所求的最大公 约数。
例1、用更相减损术求98与63的最大公约数 (自己按照步骤求解) 98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7 所以,98和63的最大公约数等于7。
解由于63不是偶数,把98和63以大数减小数,并辗转相减。
思考九:更相减损直到何时结束?运用的是 哪种算法结构? 更相减损是一个反复执行直到减数等于差时 停止的步骤,这实际也是一个循环结构 。
辗转相除法与更相减损术 进行到哪一步停止运算?
1.辗转相除法,就是对于给定的两个正整 数, 用较大的数除以较小的数, 若余数不为零, 则将余数和较小的数构成新的一对数,继续上 面的除法,直到大数被小数除尽为止,这时的 较小的数即为原来两个数的最大公约数. 2. 更相减损术,就是对于给定的两个正整 数,用较大的数减去较小的数,然后将差和较 小的数构成新的一对数,继续上面的减法,直 到差和较小的数相等,此时相等的两数即为原 来两个数的最大公约数.
用程序框图表示出右边的过程 8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333
r=m MOD n
m=n
n=r r=0? 否
1813=333×5+148
333=148×2+37 148=37×4+0

思考5:上述求两个正整数的最大公约数 的方法称为辗转相除法或欧几里得算法. 一般地,用辗转相除法求两个正整数m, n的最大公约数,算法步骤如下: 第一步,给定两个正整数m,n (m>n). 第二步,计算m除以n所得的余数r. 第三步,m=n,n=r. 第四步,若r=0,则m,n的最大公约数等 于m;否则,返回第二步.
思考6:该算法的程序框图如何表示?
开始
输入m,n
求m除以n的余数r
m=n n=r r=0? 是

输出m 结束
思考7:该程序框图对应的程序如何表述?
开始 输入m,n 求m除以n的余数r
m=n
n=r r=0? 是 输出m 结束 否
INPUT m,n DO r=m MOD n m=n n=r LOOP UNTIL r=0 PRINT m END
理论迁移
例1 用辗转相除法求下列各数的最大 公约数. (1) 1515,600 (2) 117,182
理论迁移
例1 用辗转相除法求下列各数的最大 公约数. (1) 1515,600 (2) 117,182
答案:(1)15 (2)13
由上述例子可以看出,辗转相除法中包含重复操作的步 骤,因此可以用循环结构来构造算法。 m = n × q + r
以上的方法就是辗转相除法
1.适合两个数 公有的质因数较大时。 2.算到什么情况下,就停止计算了? 余数为零时,停止计算。 3.最大公约数是 ?除数(较小的数)
1.辗转相除法,就是对于给定的两个正整 数, 用较大的数除以较小的数, 若余数不为零, 则将余数和较小的数构成新的一对数,继续上 面的除法,直到大数被小数除尽为止,这时的 较小的数即为原来两个数的最大公约数.
例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, 6-3=3.
小结
掌握辗转相除法与更相减损术的原 理,算法。
• 作业:写出更相减损术的算法。
开始 输入:a,b i=0
a MOD 2=0且b MOD 2=0? N
b>a? Y
t=a,a=b,b=t a=a-b N a=b? Y 输出:a×2i 结束
N
程序: INPUT “a,b”;a,b i=0 WHILE a MOD 2=0 AND b MOD 2=0 a=a/2 b=b/2 i=i+1 i=i+1 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
相关文档
最新文档