1.3.1算法案例(第一课时)
1.3.1 辗转相除法与更相减损术、秦九韶算法(共32张PPT)

算法案例
第一课时 辗转相除法 与更相减损术、秦九韶算法
知识能力目标引航 1.理解辗转相除法与更相减损术的含义,了解其执行过程,并会求最 大公约数. 2.掌握秦九韶算法的计算过程,了解它提高计算效率的实质,并会求 多项式的值. 3.进一步体会算法的基本思想.
1.辗转相除法与更相减损术 (1)辗转相除法. ①算法步骤: 第一步,给定两个正整数 m,n. 第二步,计算 m 除以 n 所得的余数 r. 第三步,m=n,n=r. 第四步,若 r=0,则 m,n 的最大公约数等于 m;否则返回第二步. ②程序框图如图所示.
求两个正整数的最大公约数的问题,可以用辗转相除法,也可以 用更相减损术.用辗转相除法,即根据 a=nb+r 这个式子,反复相除,直 到 r=0 为止;用更相减损术,即根据 r=|a-b|这个式子,反复相减,直到 r=0 为止.
题型二 求多项式的值 【例题 2】 用秦九韶算法求多项式 f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x 当 x=3 时的值. 分析:解决本题首先需要将原多项式化成 f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)x 的形式,其次再弄清 v0,v1,v2,…,v7 分别是多少,再针对这些式子进行计算.
秦九韶算法的关键在于把 n 次多项式转化为一次多项式,注意 体会递推的实现过程,实施运算时要由内向外,一步一步执行.
题型三
易错辨析
【例题 3】已知 f(x)=3x4+2x2+4x+2,利用秦九韶算法求 f(-2)的值. 错解:f(x)=((3x2+2)x+4)x+2, v1=3×(-2)2+2=14; v2=14×(-2)+4=-24; v3=-24×(-2)+2=50. 故 f(-2)=50. 错因分析:所求 f(-2)的值是正确的,但是错解中没有抓住秦九韶 算法原理的关键,正确改写多项式,并使每一次计算只含有 x 的一次 项. 正解:f(x)=3x4+0·x3+2x2+4x+2=(((3x+0)x+2)x+4)x+2, v1=3×(-2)+0=-6; v2=-6×(-2)+2=14; v3=14×(-2)+4=-24; v4=-24×(-2)+2=50. 故 f(-2)=50.
1.3.1《算法案例--辗转相除法和更相减损术》

01.07.2019
93 168 1
75 93 18 75 4 18 72 03
3、利用辗转相除法求最大公约数的步骤如下: 第一步:用较大的数m除以较小的数n得到
一个商q0和一个余数r0;(m=n×q0+r0) 第二步:若r0=0,则n为m,n的最大公约
数. 2. 更相减损术,就是对于给定的两个正
整数,用较大的数减去较小的数,然后将差 和较小的数构成新的一对数,继续上面的减 法,直到差和较小的数相等,此时相等的两 数0即1.07.20为1损术的区别
(1)都是求最大公约数的方法,计算上辗转相除 法以除法为主,更相减损术以减法为主,计算次数 上辗转相除法计算次数相对较少,特别当两个数字 大小区别较大时计算次数的区别较明显。
教学难点 :转相除法与更相减损术的方法转 换成程序框图与程序语言。
01.07.2019
问题提出
1.研究一个实际问题的算法,主要从 算法步骤、程序框图和编写程序三方面 展开.在程序框图中算法的基本逻辑结构 有哪几种?在程序设计中基本的算法语 句有哪几种?
2.“求两个正整数的最大公约数” 是数学中的一个基础性问题,它有各种 解决办法,我们以此为案例,对该问题 的算法作一些探究.
m=n
否
输出m 结束
INPUT m,n WHILE m<>n
k=m-n IF mn=>nk THEN
n=k ELSEm=k END IF WEND PRINT m
01.07.2019
n=k
END
例2 分别用更相减损术和辗转相除法求98
与63的最大公约数。
解:由于63不是偶数,把98和63以大数减小数,
分点突破式导学案2:1.3中国古代数学中的算法案例

1.3 中国古代数学中的算法案例第一课时§1.3.1 辗转相除法与更相减损术学习设计学法指导1.学习要求:通过阅读中国古代数学中的算法案例——辗转相除法与更相减损术,体会中国古代数学对世界数学发展的贡献。
=+⇒=-得m,n与n,r 2.方法技巧:辗转相除法的理论依据是:由m nq r r m nq-=⇒=+,得a,b与b,r有有相同的公约数;更相减损术的理论依据是:由a b r a b r相同的公约数,所以,它们有相同的理论依据,只不过一个用除法,另一个用减法表达罢了.3.误区警示:辗转相除法与更相减损术都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显,辗转相除法比较适合于求两个比较大的数的公约数.感受理解1.两个整数372和684的最大公约数是()A.36 B. 12 C. 186 D. 5892.两个整数324和135的最大公约数是()A. 81 B. 54 C. 27 D. 93.用辗转相除法求294和84的最大公约数时,需要做除法的次数是()A.1 B.2 C.3 D.44.下列对辗转相除法的说法错误的是()A.辗转相除法也叫欧几里得算法,但比欧几里得算法早B.辗转相除法的基本步骤是用较大的数除以较小的数C.在对两个数求最大公约数时,除辗转相除法还有更相减损术D.在用辗转相除法时,需要用到循环语句编写课后练习5.用更相减损术求80与36的最大公约数是__________.6. 用辗转相除法求459与357的最大公约数是________.7.分别利用辗转相除法和更相减损术求3869与6497的最大公约数。
8.根据上题中的方法,试编写一程序求两正整数,m n的最大公约数。
答案1.B.2.C.3.B.4.A.5.4。
6.51。
7.利用辗转相除法:6497386912628, 3869262811241, 262812412146, 1241146873,14673 2.7338696497=⨯+=⨯+=⨯+=⨯+=⨯即为与的最大公约数。
1.3.1 算法案例---辗转相除法与更相减损术

第一课时 1.3.1 算法案例---辗转相除法与更相减损术教学要求:理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析; 基本能根据算法语句与程序框图的知识设计出辗转相除法与更相减损术完整的程序框图并写出它们的算法程序.教学重点:理解辗转相除法与更相减损术求最大公约数的方法.教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言.教学过程:一、复习准备:1. 回顾算法的三种表述:自然语言、程序框图(三种逻辑结构)、程序语言(五种基本语句).2. 提问:①小学学过的求两个数最大公约数的方法?(先用两个公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来.)口算出36和64的最大公约数. ②除了用这种方法外还有没有其它方法?6436128=⨯+ ,36∴和28的最大公约数就是64和36的最大公约数,反复进行这个步骤,直至842=⨯,得出4即是36和64的最大公约数.二、讲授新课:1. 教学辗转相除法:例1:求两个正数1424和801的最大公约数.分析:可以利用除法将大数化小,然后逐步找出两数的最大公约数. (适用于两数较大时) ①以上我们求最大公约数的方法就是辗转相除法,也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的. 利用辗转相除法求最大公约数的步骤如下:(1)用较大的数m 除以较小的数n 得到一个商0S 和一个余数0R ;(2)若0R =0,则n 为m ,n的最大公约数;若0R ≠0,则用除数n 除以余数0R 得到一个商1S 和一个余数1R ;(3)若1R =0,则1R 为m ,n 的最大公约数;若1R ≠0,则用除数0R 除以余数1R 得到一个商2S 和一个余数2R ;……依次计算直至n R =0,此时所得到的1n R -即为所求的最大公约数.②由上述步骤可以看出,辗转相除法中的除法是一个反复执行的步骤,且执行次数由余数是否等于0来决定,所以我们可以把它看成一个循环体,它的程序框图如右图:(师生共析,写出辗转相除法完整的程序框图和程序语言)练习:求两个正数8251和2146的最大公约数. (乘法格式、除法格式)2. 教学更相减损术:我国早期也有求最大公约数问题的算法,就是更相减损术. 在《九章算术》中有更相减损术求最大公约数的步骤:可半者半之,不可半者,副置分母•子之数,以少减多,更相减损,求其等也,以等数约之.翻译为:(1)任意给出两个正数;判断它们是否都是偶数. 若是,用2约简;若不是,执行第二步.(2)以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数. 继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数. 例2:用更相减损术求91和49的最大公约数.分析:更相减损术是利用减法将大数化小,直到所得数相等时,这个数(等数)就是所求的最大公约数. (反思:辗转相除法与更相减损术是否存在相通的地方)练习:用更相减损术求72和168的最大公约数.3. 小结:辗转相除法与更相减损术及比较①都是求最大公约数的方法,辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少;②结果上,辗转相除法体现结果是以相除余数为0得到,而更相减损术则以减数与差相等而得到.三、巩固练习:1、练习:教材P35第1题 2、作业:教材P38第1题第二课时 1.3.2 算法案例---秦九韶算法教学要求:了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数、提高计算效率的实质;理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用. 教学重点:秦九韶算法的特点及其程序设计.教学难点:秦九韶算法的先进性理解及其程序设计.教学过程:一、复习准备:1. 分别用辗转相除法和更相减损术求出两个正数623和1513的最大公约数.2. 设计一个求多项式5432()254367f x x x x x x =--+-+当5x =时的值的算法. (学生自己提出一般的解决方案:将5x =代入多项式进行计算即可)提问:上述算法在计算时共用了多少次乘法运算?多少次加法运算?此方案有何优缺点?(上述算法一共做了5+4+3+2+1=15次乘法运算,5次加法运算. 优点是简单、易懂;缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高.)二、讲授新课:1. 教学秦九韶算法:① 提问:在计算x 的幂值时,可以利用前面的计算结果,以减少计算量,即先计算2x ,然后依次计算2x x ⋅,2()x x x ⋅⋅,2(())x x x x ⋅⋅⋅的值,这样计算上述多项式的值,一共需要多少次乘法,多少次加法?(上述算法一共做了4次乘法运算,5次加法运算)② 结论:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法能更快地得到结果.③ 更有效的一种算法是:将多项式变形为:5432()254367((((25)4)3)6)7f x x x x x x x x x x x =--+-+=--+-+,依次计算2555⨯-=,55421⨯-=,2153108⨯+=,10856534⨯-=,534572677⨯+= 故(5)2677f =. ――这种算法就是“秦九韶算法”. (注意变形,强调格式)④ 练习:用秦九韶算法求多项式432()2351f x x x x x =+-++当4x =时的值. (学生板书→师生共评→教师提问:上述算法共需多少次乘法运算?多少次加法运算?)⑤ 如何用秦九韶算法完成一般多项式1110()n n n n f x a x a x a x a --=++++ 的求值问题?改写:11101210()(()))n n n n n n n f x a x a x a x a a x a x a x a x a ----=++++=+++++ .首先计算最内层括号内一次多项式的值,即11n n v a x a -=+,然后由内向外逐层计算一次多项式的值,即212n v v x a -=+,323n v v x a -=+, ,10n n v v x a -=+.⑥ 结论:秦九韶算法将求n 次多项式的值转化为求n 个一次多项式的值,整个过程只需n 次乘法运算和n 次加法运算;观察上述n 个一次式,可发出k v 的计算要用到1k v -的值,若令0n v a =,可得到下列递推公式:01,(1,2,,)n kk n k v a v v x a k n --=⎧⎨=+=⎩ . 这是一个反复执行的步骤,因此可用循环结构来实现.⑦ 练习:用秦九韶算法求多项式5432()52 3.5 2.6 1.70.8f x x x x x x =++-+-当5x =时的值并画出程序框图.2. 小结:秦九韶算法的特点及其程序设计三、巩固练习:1、练习:教材P35第2题 2、作业:教材P36第2题第三课时 1.3.3 算法案例---进位制教学要求:了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换;学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k 去余法,并理解其中的数学规律.教学重点:各种进位制之间的互化.教学难点:除k 取余法的理解以及各进位制之间转换的程序框图及其程序的设计. 教学过程:一、复习准备:1. 试用秦九韶算法求多项式52()42f x x x =-+当3x =时的值,分析此过程共需多少次乘法运算?多少次加法运算?2. 提问:生活中我们常见的数字都是十进制的,但是并不是生活中的每一种数字都是十进制的.比如时间和角度的单位用六十进位制,电子计算机用的是二进制,旧式的秤是十六进制的,计算一打数值时是12进制的......那么什么是进位制?不同的进位制之间又有什么联系呢?二、讲授新课:1. 教学进位制的概念:① 进位制是人们为了计数和运算方便而约定的记数系统,“满几进一”就是几进制,几进制的基数就是几. 如:“满十进一”就是十进制,“满二进一”就是二进制 . 同一个数可以用不同的进位制来表示,比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的. 表示各种进位制数一般在数字右下脚加注来表示,如上例中:(2)(8)(16)1110017139==② 一般地,任意一个k 进制数都可以表示成不同位上数字与基数的幂的乘积之和的形式,即110110()110110...(0,0,...,,)n n n n k n n n n a a a a a k a a a k a k a ka k a k ----<<≤<=⨯+⨯+⨯+⨯ . 如:把(2)110011化为十进制数,(2)110011=1⨯25+1⨯24+0⨯23+0⨯22+1⨯21+1⨯20=32+16+2+1=51. 把八进制数(8)7348化为十进制数,3210(8)7348783848883816=⨯+⨯+⨯+⨯=.2. 教学进位制之间的互化:①例1:把二进制数(2)1001101化为十进制数.(学生板书→教师点评→师生共同总结将非十进制转为十进制数的方法)分析此过程的算法过程,编写过程的程序语言. 见P34②练习:将(5)2341、(3)121转化成十进制数.③例2、把89化为二进制数.分析:根据进位制的定义,二进制就是“满二进一”,可以用2连续去除89或所得商,然后取余数. (教师板书)上述方法也可以推广为把十进制化为k 进制数的算法,这种算法成为除k 取余法. ④练习:用除k 取余法将89化为四进制数、六进制数.⑤例3、把二进制数(2)11011.101化为十进制数.解:43210123(2)11011.101121202121212021227.625---=⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯=.(小数也可利用上述方法化进行不同进位制之间的互化. )变式:化为八进制→方法:进制互化3. 小结:进位制的定义;进位制之间的互化.三、巩固练习:1、练习:教材P35第3题 2、作业:教材P38第3题第四课时 1.3.4 生活中的算法实例教学要求:通过生活实例进一步了解算法思想.教学重点:生活实例的算法分析.教学难点:算法思想的理解.教学过程:一、复习准备:1. 前面学习了哪几种算法案例?每种算法的作用及操作方法是怎样的?2. 算法思想在我们的生活中无处不在,如何利用我们所学习的知识解决生活中的实际问题?二、讲授新课:1. 霍奇森算法:提问:同学们经常会面对一个共同的问题,就是有时有太多的事情要做. 例如,你可能要面临好几门课的作业的最后期限,你如何合理安排以确保每门课的作业都能如期完成?如果根本不可能全部按期完成,你该怎么办?(霍奇森算法可以使得迟交作业的数目减到最小. 这一算法已经广泛应用于工业生产安排的实践中.)例如:当你拿到下面这组数据后,你会如何安排你的时间,以确保每门课的作业都能如期完成?可用自然语言描述为:①把这些作业按到期日的顺序从左到右排列,从最早到期的到最晚到期的;②假设从左到右一项一项做这些作业的话,计算出从开始到完成某一项作业时所花的时间. 依次做此计算直到完成了所列表中的全部作业而没有一项作业会超期,停止;或你算出某项作业将会超期,继续第三步;③考虑第一项将会超期的作业以及它左边的所有作业,从中取出花费时间最长的那项作业,并把它从表中去掉;④回到第二步,并重复第二到四步,直到做完.2. 孙子问题:韩信是秦末汉初的著名军事家. 据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么办法,不要逐个报数,就能知道场上士兵的人数.韩信先令士兵排成了3列纵队进行操练,结果有2人多余;接着他立刻下令将队形改为5列纵 队,这一改又多出3人;随后他又下令改为7列纵队,这一次又剩下2人无法成整行. 由此得出共有士兵2333人. 如何用现在的算法思想分析这一过程?《孙子算经》中给出了它的具体解法,其步骤是:选定57⨯的倍数,被3除余1,即70;选定37⨯的一个倍数,被5除余1,即21;选定35⨯的一个倍数,被7除余1,即15. 然后按下式计算702213152105m p =⨯+⨯+⨯-,式中105为3,5,7的最小公倍数,p 为适当的整数,使得0105m <≤,这里取2p =.求解“孙子问题”的一种普通算法:第一步:2m =.第二步:若m 除以3余2,则执行第三步;否则1m m =+,执行第二步.第三步:若m 除以5余3,则执行第四步;否则1m m =+,执行第二步.第四步:若m 除以7余2,则执行第五步;否则1m m =+,执行第二步.第五步:输出m .3. 小结:算法的基本思想.三、巩固练习: 作业:教材P38第3题。
1.3.1算法案例(第一课时)

完整的过程 8251=6105×1+2146 6105=2146×2+1813
显然37是148和 37的最大公约数, 也就是8251和6105 的最大公约数.
2146=1813×1+333 1813=333×5+148
333=148×2+37 148=37×4的最大公约数 225=135×1+90 135=90×1+45
98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7 所以,98和63的最大公约数等于7.
辗转相除法与更相减损术的区别:
(1)都是求最大公约数的方法,计算上辗转相
除法以除法为主,更相减损术以减法为主,计算
次数上辗转相除法计算次数相对较少,特别当两
个数字大小区别较大时计算次数的区别较明显。 (2)从结果体现形式来看,辗转相除法体现结 果是以相除余数为0则得到,而更相减损术则以 减数与差相等而得到
都是偶数.若是,则用2约简;若不是则执行第二步.
第二步,以较大的数减较小的数,接着把所得 的差与较小的数比较,并以大数减小数.继续这个 操作,直到所得的减数和差相等为止,则这个等数 就是所求的最大公约数.
例3 用更相减损术求98与63的最大公约数.
解:由于63不是偶数,把98和63以大数减小数, 并辗转相减
1.求两个正整数的最大公约数. (1)求25和35的最大公约数; (2)求49和63的最大公约数. 5 (1) 25 35 5 7 7 (2) 49 63 7 9
所以,25和35的最大
公约数为5,
所以,49和63的最大
公约数为7.
2.求8251和6105的最大公约数.
(最新整理)《1.3算法案例》ppt课件

2021/7/26
29
例2 已知一个五次多项式为
f( x ) 5 x 5 2 x 4 3 .5 x 3 2 .6 x 2 1 .7 x 0 .8
用秦九韶算法求这个多项式当x = 5的值。 解:将多项式变形:
f ( x ) (5 x ( 2 ) ( x 3 . ( 5 ) x 2 . 6 ) x 1 . 7 ) x 0 . 8
二进制的表示方法
二进制是用0、1两个数字来描述的.如 11001 区分的写法:11001(2)或者 (1 11001 ( 1)2 2 1 0 )2 4 0 1 2 3 1 0 2 2 0 2 1 1 2 0
的最大公约数 2021/7/26
7
1、辗转相除法(欧几里得算法)
(1)算理:所谓辗转相除法,就是对于给定 的两个数,用较大的数除以较小的数。若余 数不为零,则将余数和较小的数构成新的一 对数,继续上面的除法,直到大数被小数除 尽,则这时较小的数就是原来两个数的最大 公约数。
2021/7/26
8
辗转相除法是一个反复执行直到余数等
2021/7/26
12
2、更相减损术
(1)算理:所谓更相减损术,就是对于 给定的两个数,用较大的数减去较小的数, 然后将差和较小的数构成新的一对数,再 用较大的数减去较小的数,反复执行此步 骤直到差数和较小的数相等,此时相等的 两数便为原来两个数的最大公约数。
2021/7/26
13
例3 用更相减损术求98与63的最大公约数
2021/7/26所以,当x = 5时,多项式的值等于17255.2
30
程序框图:
开始
输入f(x)的系数: a0,a1,a2,a3,a4a5
输入x0
v v0 k a vk n1xank(k1,2, ,n)
高中数学必修三1.3算法案例-辗转相除法

1734=816×2+102
816=102×8
2)再求102与1343的最大公约数
1343=102×13+17
102=17×6
所以17为102与1343的最大公约数
所以17为1734、816、1343这三个数的最大公约数
板
书
设
计
第1.3节算法案例-----辗转相除法
............................... ................................... ...............
课后作业
P45练习:1.
P48习题1.3A组:1.
课
后
反
思
1.辗转相除法的思想2.辗转相除法算法框图3.例题讲解
................................ ................................... ...............
............................... ................................... ...............
2.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序。
(b)过程与方法
在辗转相除法求最大公约数的学习过程中体会我们常见的约分求公因式的方法,,并从程序的学习中体会数学的严谨,领会数学算法计算机处理的结合方式,初步掌握把数学算法转化成计算机语言的一般步骤。
(c)情态与价值
1.通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。
PRINT m
END
课堂练习:1.求两数4081与20723的最大公约数.
高一数学 1.3.1 辗转相除法与更相减损术、秦九韶算法课件 新人教A版必修2

第一课时 辗转相除法与更相减损术、秦九韶算法
自学导引 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.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“更相减损术”在中国古代数学专著 《九章算术》中记述为: 可半者半之,不可半者,副置分母、子 之数,以少减多,更相减损,求其等也, 以等数约之.
兰州市第十八中学
理论迁移
例1 用更相减损术求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.
兰州市第十八中学
知识探究(一):辗转相除法
思考1:18与30的最大公约数是多少?你 是怎样得到的? 先用两个数公有的质因数连续去除, 一直除到所得的商是互质数为止,然 后把所有的除数连乘起来即为最大公 约数.
兰州市第十八中学
思考2:对于8251与6105这两个数,由于 其公有的质因数较大,利用上述方法求 最大公约数就比较困难.注意到 8251=6105×1+2146,那么8251与6105这 两个数的公约数和6105与2146的公约数 有什么关系?
思考3:该算法的程序框图如何表示?
开始 输入m,n m≠n? m=k
否
否
是 k=m-n n>k? 是 m=n n=k 输出m 结束
兰州市第十八中学
思考4:该程序框图对应的程序如何表述? 开始 INPUT m,n WHILE m<>n 输入m,n k=m-n IF n>k THEN 否 m≠n? m=n 是 n=k k=m-n m=k ELSE m=k 否 输出m n>k? END IF 是 WEND 结束 m=n PRINT m n=k END
兰州市第十八中学
பைடு நூலகம்
小结作业 1.辗转相除法,就是对于给定的两个正整 数,用较大的数除以较小的数,若余数不为 零,则将余数和较小的数构成新的一对数, 继续上面的除法,直到大数被小数除尽为止, 这时的较小的数即为原来两个数的最大公约 数. 2. 更相减损术,就是对于给定的两个正 整数,用较大的数减去较小的数,然后将差 和较小的数构成新的一对数,继续上面的减 法,直到差和较小的数相等,此时相等的两 兰州市第十八中学 数即为原来两个数的最大公约数.
作业: P45练习:1. P48习题1.3A组:1.
兰州市第十八中学
1.3
算法案例
第一课时
兰州市第十八中学
问题提出
1.研究一个实际问题的算法,主要从 算法步骤、程序框图和编写程序三方面 展开.在程序框图中算法的基本逻辑结构 有哪几种?在程序设计中基本的算法语 句有哪几种? 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.
是
INPUT m,n WHILE n>0 r=m MODn m=n n=r WEND PRINT m END
兰州市第十八中学
知识探究(二):更相减损术
思考1:设两个正整数m>n,若m-n=k,则m与n 的最大公约数和n与k的最大公约数相等.反复 利用这个原理,可求得98与63的最大公约数 为多少? 98-63=35,
INPUT m,n DO r=m MODn m=n n=r LOOP UNTIL r=0 PRINT m END
兰州市第十八中学
思考7:如果用当型循环结构构造算法, 则用辗转相除法求两个正整数m,n的最 大公约数的程序框图和程序分别如何表 示?
兰州市第十八中学
开始
输入m,n
n=r
m=n 求m除以n的余数r n>0? 否 输出m 结束
63-35=28, 35-28=7, 28-7=21, 21-7=14, 14-7=7.
兰州市第十八中学
思考2:上述求两个正整数的最大公约数的方 法称为更相减损术.一般地,用更相减损术求 两个正整数m,n的最大公约数,可以用什么 逻辑结构来构造算法?其算法步骤如何设计? 第一步,给定两个正整数m,n(m>n). 第二步,计算m-n所得的差k. 第三步,比较n与k的大小,其中大者用m表 示,小者用n表示. 第四步,若m=n,则m,n的最大公约数等于 m;否则,返回第二步. 兰州市第十八中学
兰州市第十八中学
思考4:上述求两个正整数的最大公约数的方法称 为辗转相除法或欧几里得算法.一般地,用辗转相 除法求两个正整数m,n的最大公约数,可以用什 么逻辑结构来构造算法?其算法步骤如何设计?
第一步,给定两个正整数m,n(m>n). 第二步,计算m除以n所得的余数r. 第三步,m=n,n=r.
第四步,若r=0,则m,n的最大公约数等 于m;否则,返回第二步.
兰州市第十八中学
思考5:该算法的程序框图如何表示?
开始
输入m,n
求m除以n的余数r
m=n n=r r=0? 是
否
输出m 结束
兰州市第十八中学
思考6:该程序框图对应的程序如何表述?
开始 输入m,n 求m除以n的余数r
m=n
n=r r=0? 是 输出m 结束 否