求两个正整数的最大公约数的辗转相除法算理
求两个正整数的最大公约数的辗转相除法算理
如何求两个正整数的最大公约数?这是高中数学必修三算法一章中的内容。用算法求解此问题时,教材中介绍了一种古老而有效的算法——辗转相除法。对于辗转相除法以及同节中的更相减损术的算法易理解,但其中的算理,不少学生甚至老师都有一些疑惑,为了解决这个疑问,笔者进行了思考。
一、被除数与除数的公约数集与除数与余数的公约数集相等吗
“用辗转相除法求 8151 与 6105 的最大公约数,我们可以考虑用两数中较大的数除以较小的数,求得商和余数:
8251=6105×1+2146
由此可得,6105 与 2146 的公约数也是 8251 与 6105 的公约数,反过来 8251 与 6105 的公约数也是 6105 与 2146 的公约数,所以它们的最大的公约数相等。”
从以上例子中不难看出,运用了“被除数与除数的公约数集与除数与余数的公约数集相等”这一结论。下面对这一结论予以证明。
设 a=b×q+r,其中 a 为被除数,b 为除数,q 为商,r 为余数.
§1.2 最大公约数与辗转相除法
§2 最大公约数与辗转相除法 一、有关概念 1、定义:123,,,...,n a a a a 的公因数, ()123,,,...,n a a a a 及()123,,,...,1n a a a a = 2、说明:1公因数不可能是0;1是必然的公因数; 2 0与非零数b 的公因数就是b 的因数; 3两两互质与互质的关系; 4 (,)(,)a b b a = 5(0,)b b = ; (1,)1b = 6若(,)a b b =,则b ∣a 7若12(,)1a a =,则()123,,,...,1n a a a a = 3、定理:123,,,...,n a a a a 与123,,,...,n a a a a 相同的公因数。 ? ()123,,,...,n a a a a =123(,,,...,)n a a a a 4、求最大公因数的方法: 1观察法; 2短除法;3辗转相除法。
二、辗转相除法 定理1:设,,a b c 是不全为0的整数,且a bq c =+,q 为整数 则(1),a b 与,b c 有相同的公因数; (2)()(),,a b b c = 定理2:设,a b 为正整数,则(),n a b r = 推论:,a b 的公因数与(),a b 的因数相同。 例1 证明:当n N +∈时, 143 214 n n ++为既约的真分数。 例2 求()1859,1573-及()169,121 例3 某数除193余4,除1087余7,求符合要求的最大整数。 例4 某数除300,262,205余数相同,求这个数。 三、最大公因数的性质 1、()(),,am bm a b m m =为正整数 2、() ,,a b a b δδδδ?? = ??? 为,a b 的公因数 3、()(),1,,a b a b a b ??= ? ??? 4、设()122,a a d =, ()233,d a d =,()1,n n n d a d -= 则()123,,,n n a a a a d = 例5 设(),1a b = ,求(),a b a b +-
乘除法巧算技巧
乘除法巧算技巧
乘除法巧算技巧 1、两位数(三位数)×11 方法:两头一拉,中间相加。注意在相加时,哪一位满10要向前一位进一。 例:23×11=253 78×11=858 358×11=3938 2、两位数×99 方法:将与99相乘的两位数减1写在前边,后边写上这个乘数的补数。 例:63×99=6237 3、二十以内的两位数乘法。 方法:尾乘尾(有进位的要向前一位进);所得的的数写在个位。 尾加尾(在计算中个位有进上来的数要一并加上,本位有进位 再向前一位进)所得的的数写在十位 头乘头(有前一位进上来的数要加上)所得的数写在百位 例:16×14=224 4、个位都是1的两位数乘法。 方法:尾乘尾,所得的的数写在个位 头加头(有进位的要向前一位进)所得的的数写在十位 头乘头(有前一位进上来的数要加上)所得的数写在百位
例:71×81=5751 5、任意两位数×101,三位数×1001 方法:将这个两位数(三位数)直接排两遍写在结果上。例:26×101=2626 368×1001=368368 6、个位数互为补数,十位数相同的两位数乘法。 方法:个位乘个位,所得的数写在结果的后边(不足两位的在十位上补“0”) 十位其中一个数加1后十位乘十位,结果写在前边 例:62×68=4216 7、个位数相同十位数互为补数的两位数乘法。 方法:个位乘个位,所得的数写在结果的后边(不足两位的在十位上补“0”) 十位数相乘的积再加上一个个位数,结果写在前边。 例:26×86=2236 8、两位数乘两位数,其中一组数为相同数,另一组数互为补 数。 方法:同6. 例:66×37=2442
顺应学生学习心理 理解算理掌握算法
顺应学生学习心理理解算理掌握算法 北京市通州区教师研修中心刘东旭《数学课程标准》(2011版)中指出:数学课程“要符合学生的认知规律和心理特征,有利于激发学生的学习兴趣;要在呈现作为知识与技能的数学结果时,重视学生已有的经验,使学生体验从实际背景中抽象出数学问题、构建数学模型、寻求结果、解决问题的过程”。无论是儿童的认知规律、心理特征,还是学生已有的生活经验,都要以读懂学生为前提。只有真正的以“学生”为立足点和出发点,处处体现“以生为本”的新课程教学理念,才能让数学课堂更有实效性。 《9加几》一课是北京版课改实验教材一年级第一册中的内容。这部分知识是学生正式学习进位加法的第一课,可以说不仅是低年级计算教学的重点,而且在整个小学计算教学中都起着非常重要的作用。我在上课前进行了如下的设计。首先从生活情境的引入搜集数学信息提出数学问题,列出9+5这个算式;其次是9+5的算法交给学生来汇报,预设为凑十法即把9凑十或把5凑十,数数法,假设法即把9假设成10和把5假设成10,汇报的过程中理解每种算法的道理,针对凑十法用小棒让学生操作活动中理解;接着是针对出现的算法同学们根据自己的感觉进行比较说说哪种方法好,对算法进行优化突出凑十的方法;最后是用凑十法解决相关问题。 当我准备上课前的几天,我反复推敲着教案,想着学生现在的种种表现,我想还是再做做前测,看看我的预设和孩子的现状是不是真的吻合。我给43名同学出了9+6这道题,通过口头的方式逐一访谈:你是怎么算出这道题的?前测的结果让我真是惊讶。43名同学除了2名同学需要一点时间算这道题之外,其余41名同学都马上说出了结果15,快速计算的正确率为95%,而且这43名同学中,除了3名同学用的是假设法把9看成了10来计算外,其他同学不管是凑大数还是凑小数都是用的凑十法,用凑十法的百分比是93%,但是追问凑十的道理很少有人能讲的清楚。对于数数的方法根本就没有人用。看着测试的结果,我陷入了思考:学生的原有知识经验比我预想的要高,他们在幼儿园学习了计算,或是上课幼小衔接的先行班,对于这个计算他们不陌生,结果他们都能正确算出来,他们所不知道的是这其中的道理,这也正是这节课我应该讲的。根据前测的结果我调整了设计好的教案,为了避免孩子操作的无目的性,更集中精力思考问题,我
乘除法中的速算与巧算
乘除法中的速算与巧算 知识储备 整数乘除法的速算与巧算,一条最基本的原则就是“凑整” 。要达到“凑整”的目的, 就要将一些数分解、 变形,再运用乘法的交换律、 结合律、分配律以及四则运算中的一些规 则,把某些数组合到一起,使复杂的计算过程简便化。 1、 乘法的运算定律 乘法交换律:a>b=b 冶 乘法结合律:(a >b) >c=a >(b >C) 乘法分配律:(a + b) >C=ac + bc 2、 除法的运算性质 (1) a -b=a >C 说b > c) (c 工 0) (2) a — b=(a 十 c)十(b 十 c 芳(0) (3) a — b — c=a —(t )) (4) a — (b — c)=a -> 3、 乘除分配性质 (1) (a + b ) X c=a X c + b c (2) (a — b ) X c=a X c — b X c (3) (a + b ) —c=a —+ b — c (4) (a — b ) —c=a —— b — c 注意: 除数不能为零。 4、 两数之和乘以这两数之差的积等于这两个数的平方差。 2 . 2 (a + b) > (a — b)= a — b 5、 乘法凑整法:这是利用特殊数的乘积特性进行速算, 如5> 2 = 10, 25 X 4 = 100, 125 > 8 = 1000, 625X 8= 5000 , 625X 16= 10000等等。大家要记住这些结果。 思维引导 例1、计算: (1) 999+ 999X 999 (2) 1111X 9999 (3) 125X 25X 32 (4) 576X 422 + 576 + 577 X 576 跟踪练习:计算:(1) 9999 + 9999 X 9999 (2) 140X 299 (3) 808X 125 (4) 461 + 5 X 4610 + 461 X 49 例 2、计算:34X 172— 17X 71 X 2— 34
如何帮助学生理解算理和掌握算法
如何帮助学生理解算理和掌握算法 发表时间:2018-03-22T10:56:41.597Z 来源:《教育学文摘》2018年3月总第258期作者:崔文清 [导读] 在计算教学中,算理与算法是两个不可或缺的关键,算理是对算法的解释,是理解算法的基础,算法是对算理的总结与提炼。——《两位数除以一位数的笔算》教学案例与反思 ◆崔文清山东省平度市李园街道西关小学266700 摘要:在计算教学中,算理与算法是两个不可或缺的关键,算理是对算法的解释,是理解算法的基础,算法是对算理的总结与提炼,它们是相互联系、有机统一的整体,教学中教师要善于引导学生通过系列数学活动理解算理抽象算法,体验由直观到抽象的过渡和演变过程,从而达到对算理的深层理解和对算法的切实掌握。 关键词:算理算法运算能力 运算能力是修订稿新加入的核心概念,运算能力在2011版《数学新课程标准》里的界定是:运算能力主要是指能够根据法则和运算定律正确地进行运算的能力。培养运算能力有助于学生理解运算的算理,寻求合理简洁的运算途径解决问题。 在计算教学中,算理与算法是两个不可或缺的关键,算理是对算法的解释,是理解算法的基础,算法是对算理的总结与提炼,它们是相互联系、有机统一的整体,透彻理解算理和熟练掌握算法是提高学生计算能力的重要保证,计算教学既要让学生在直观中理解算理,又要让学生理解抽象的算法,还要让学生体验由直观到抽象的过渡和演变过程,从而达到对算理的深层理解和对算法的切实掌握。 下面我就青岛版小学数学三年级上册《风筝厂见闻——两位数除以一位数的笔算》谈谈我是如何帮助学生理解算理和掌握算法的。 一、准确把握教材意图,科学设计教学过程 本节课是两三位数除以一位数的信息窗2, 教材呈现的是借助学具帮助学生理解竖式的算理,小棒是一捆一捆的,一捆就是一个十,学生习惯上先分6捆,也就是先把6个十来分,再分3根,正好与竖式先从十位除起相对应。新教材呈现的分小棒的过程是横着摆,而我在借助课件演示的时候,采用竖着分,我认为这样更有利于让学生借助分小棒来理解竖式的计算过程。 二、借助学具帮助学生理解算理和掌握算法 1.重视摆学具说分法的过程 用学具将63根小棒平均分成3份,学生很容易分出来,但分的过程对我们理解竖式的算理至关重要,因此我在分之前,先提醒学生:“先商议一下,先分什么,再分什么,然后动手分一分。”因为是6捆加上3根,学生习惯上会先分6捆,再分3根,但也有一部分学生是先分3根后分6捆,第二种分法虽然正确,但对于我们这节课来说,容易对学生用竖式表示分小棒的过程产生障碍,所以我重点让学生展示第一种分法,并且让学生多次叙述是怎样分的,即:把63根小棒平均分成3份,先把6捆小棒平均分成3份,每份是2捆,也就是20根,再把剩下的三根平均分成3份,每份是1根,20+1=21根。对学生的第二种分法一带而过,不予详评。 2.借助课件演示,巧妙地将算理与算法相结合 当学生用学具分完以后,我让学生计算63÷3=,学生根据摆小棒的过程,很容易口算出60÷3=20,3÷3=1 ,20+1=21,我实时引导学生:“你能用竖式把刚才摆小棒的过程表示出来吗?”让学生自己试做,学生做出了两种方法。
除法中的巧算(含答案)-
除法中的巧算 (一)学习方法指导 我们利用“商不变的性质”进行除法中的巧算,因为“商不变性质”,是被除数、除数同时乘以或同时除以一个数(零除外),它们的商不变。 一般有这样的公式:()()a b a n b n ÷=?÷? 或 ()() ()=÷÷÷≠a n b n n 0 如:()()123122322464÷=?÷?=÷= 或 ()()12612262632÷=÷÷÷=÷= 例1. 用简便方法计算下列各题。 (1)82525÷ (2)47700900÷ 分析:(1)(2)可以利用“商不变的性质”去计算。 (1)82525÷ ()() =?÷?=÷=8254254330010033 想办法使其中一个数扩大、或缩小后成为整十、整百、整千,如25扩大4倍得100。 (2)47700900÷ ()() =÷÷÷=÷=47700100900100477953 看到被除数,与除数末尾都有00,这样让它们同时缩小100倍。 在除法运算中,还有两个数的和,(或差)除以一个数,可以用这个数分别去除这两个数(在都能整除的情况下),再求两个商的和或差。 一般公式:()a b c a c b c +÷=÷+÷ ()a b c a c b c -÷=÷-÷
如:()126212262639+÷=÷+÷=+= ()126212262633-÷=÷-÷=-= 这个性质可以推广到多个数的和除以一个数的情况。 例2. 用简便方法计算。 (1)()2501655+÷ (2)()7022134143--÷ 分析:这两题都可以运用以上性质去解答,就是“两个数的和(差)除以一个数”的除法运算性质。 (1)()2501655+÷ (2)()7022134143--÷ =÷+÷=+=25051655 503383 =÷-÷-÷=--=7023213341432347113825 除了以上性质外,使计算题简便,同时还有利用乘、除同级运算带着符号“搬家”的性质: (1)两个数的商除以一个数,等于商中的被除数先除以这个数,再除以原来商中的除数。 一般有:a b c a c b ÷÷=÷÷ 如:12321223÷÷=÷÷ (2)两个数的积除以一个数,等于用除数先去除积的任意一个因数,再与另一个因数相乘。 一般有:a b c a c b ?÷=÷? 或=÷?b c a 如:1262122636?÷=÷?= 或:1262621236?÷=÷?= 例3. 计算下面各题。 (1)52575÷÷
计算教学中,如何处理算理与计算方法的关系
1.计算教学中,如何处理算理与计算方法的关系? 计算的算理是指计算的理论依据,通俗地讲就是计算的道理。算理一般由数学概念、定律、性质等构成,用来说明计算过程的合理性和科学性。计算的算法是计算的基本程序或方法,是算理指导下的一些人为规定,用来说明计算过程中的规则和逻辑顺序。 算理和算法既有联系,又有区别。算理是客观存在的规律,主要回答“为什么这样算”的问题;算法是人为规定的操作方法,主要解决“怎样计算”的问题。算理是计算的依据,是算法的基础,而算法则是依据算理提炼出来的计算方法和规则,它是算理的具体体现。算理为计算提供了正确的思维方式,保证了计算的合理性和可行性;算法为计算提供了便捷的操作程序和方法,保证了计算的正确性和快速性。算理和算法是计算教学中相辅相成、缺一不可的两个方面。 处理好算理与算法的关系对于突出计算教学核心,抓住计算教学关键具有重要的作用。当前,计算教学中“走极端”的现象实质上是没有正确处理好算理与算法之间关系的结果。一些教师受传统教学思想、教学方法的支配,计算教学只注重计算结果和计算速度,一味强化算法演练,忽视算理的推导,教学方式“以练代想”,学生“知其然,不知其所以然”,导致教学偏向“重算法、轻算理”的极端。 与此相反,一些教师片面理解了新课程理念和新教材,他们把过多的时间用在形式化的情境创设、动手操作、自主探索、合作交流上,在理解算理上大做文章,过分强调为什么这样算,还可以怎样算,却缺少对算法的提炼与巩固,造成学生理解算理过繁,掌握算法过软,形成技能过难,教学走向“重算理、轻算法”的另一极端。 如何正确处理算理与算法的关系,防止“走极端”的现象,广大数学教师在教学实践中进行了有益的探索,取得了许多成功经验。比如,“计算教学要寻求算理与算法的平衡,使计算教学‘既重算理,又重算法”“把算理与算法有机融合,避免算理与算法的‘硬性对接’”“引导学生在理解算理的基础上自主地生成算法,在算法形成与巩固的过程中进一步明晰算理”“计算教学要让学生探究并领悟算理,及时抽象并掌握算法,力求形成技能并学会运用”等等,这些观点对于计算教学少走弯路、提高计算教学质量具有重要作用。 处理计算教学中算理与算法的关系还应注意以下五点:一是算理与算法是计算教学中有机统一的整体,形式上可分,实质上不可分,重算法必须重算理,重算理也要重算法;二是计算教学的问题情境既为引出新知服务,体现“学以致用”,也为理解算理、提炼算法服务,教学要注意在“学用结合”的基础上,以理解算理,掌握算法,形成技能为主;三是算理教学需借助直观,引导学生经历自主探索、充分感悟的过程,但要把握好算法提炼的时机和教学的“度”,为算法形成与巩固提供必要的练习保证;四是算法形成不能依赖形式上的模仿,而要依靠算理的透彻理解,只有在真正理解算理的基础上掌握算法、形成计算技能,才能算是找到了算理与算法的平衡点;五是要防止算理与算法之间出现断痕或硬性对接,要充分利用例题或“试一试”中的“可以怎样算?”“在小组里说一说,计算时要注意什么?”等问题,指导学生提炼算法,为算理与算法的有效衔接服务。
除法中的巧算
除法中的巧算 (一)学习方法指导 我们利用“商不变的性质”进行除法中的巧算,因为“商不变性质”,是被除数、除数同时乘以或同时除以一个数(零除外),它们的商不变。 一般有这样的公式:()() a b a n b n ÷=?÷? 或 ()() () =÷÷÷≠a n b n n 0 如:()()123122322464 ÷=?÷?=÷= 或 ()()12612262632 ÷=÷÷÷=÷= 例1. 用简便方法计算下列各题。 (1)(2)82525÷47700900 ÷ 分析:(1)(2)可以利用“商不变的性质”去计算。 (1)82525 ÷ ()() =?÷?=÷=8254254330010033 想办法使其中一个数扩大、或缩小后成为整十、整百、整千,如25扩大4倍得100。 (2)47700900 ÷ ()() =÷÷÷=÷=47700100900100477953 看到被除数,与除数末尾都有00,这样让它们同时缩小100倍。 在除法运算中,还有两个数的和,(或差)除以一个数,可以用这个数分别去除这两个数(在都能整除的情况下),再求两个商的和或差。 一般公式:()a b c a c b c +÷=÷+÷ ()a b c a c b c -÷=÷-÷ 如:()126212262639 +÷=÷+÷=+= ()126212262633 -÷=÷-÷=-= 这个性质可以推广到多个数的和除以一个数的情况。 例2. 用简便方法计算。 (1)()2501655 +÷
(2)()7022134143 --÷ 分析:这两题都可以运用以上性质去解答,就是“两个数的和(差)除以一个数”的除法运算性质。 (1)(2)()2501655+÷()7022134143 --÷ =÷+÷=+=25051655503383=÷-÷-÷=--=7023213341432347113825 除了以上性质外,使计算题简便,同时还有利用乘、除同级运算带着符号“搬家”的性质: (1)两个数的商除以一个数,等于商中的被除数先除以这个数,再除以原来商中的除数。 一般有:a b c a c b ÷÷=÷÷ 如:12321223 ÷÷=÷÷ (2)两个数的积除以一个数,等于用除数先去除积的任意一个因数,再与另一个因数相乘。 一般有:a b c a c b ?÷=÷? 或=÷?b c a 如:1262122636?÷=÷?= 或:1262621236?÷=÷?= 例3. 计算下面各题。 (1)52575÷÷ (2)12858 ?÷ 分析:这两题可以运用乘除混合运算带着符号“搬家”的性质。 (1)(2)52575÷÷12858 ?÷ =÷÷=÷=52557105715 =÷?=?=1288516580 在运算中经常出现乘除混合运算及括号等,怎么办,仍有一些性质: 1. 一个数除以两个数的积,等于这个数依次除以积的两个因数。 一般公式:()a b c a b c ÷?=÷÷ 如:()126212621 ÷?=÷÷= 例5. 简便计算下面各题。 (1)()75679÷?
如何处理算理和算法的关系
如何处理算理和算法的关系 算理是算法的理论依据,算法是算理的提炼和概括,它们是相辅相成的,算理与算法,贵在合谐,而寻求算理与算法的平衡点是计算教学理性回归需要解决的主要问题。算法多样化,算理要让学生掌握数学思想方法。 怎样处理好算理与算法教学统一,使学生既理解算理,又能牢固掌握算法、提高计算的速度和正确率呢?下面就以两位数乘一位数为例,说说如何实现理算理与算法的的教学统一。 1、引导研究,理解算理 学生只有理解了计算的道理,才能“创造”出计算的方法,才能理解和掌握计算方法,才能正确迅速地计算,所以计算教学必须从算理开始。教学中要引导学生对计算的道理进行深入的研究,帮助学生应用已有的知识领悟计算的道理。首先引导学生思考:为什么可以用14×2计算?使学生明白14×2表示求2个14是多少;其次,让学生思考:你打算怎么计算14×2?使学生明白14是由1个十和4个一组成的,可以把14×2转化成已经学过的乘法计算:先算2个10 是多少,再算2个4是多少,最后把两次算的得数合并,计算的过程有三个算式:4×2=8,10×2=20,20+8=28。通过这样的研究学生就理解两位数乘一位数计算的道理,学生就能应用这样的道理解决其他两位数乘一位数的计算问题。 2、及时练习,巩固内化 通过上面的计算研究,学生虽然理解了两位数乘一位数的道理,但是此时学生对算理的理解还处于似懂非懂的状态,学生是否真正掌握了算理还要经过实际计算才能得到检验和巩固,此时及时组织学生进行相应的练习是很有必要的,只有在练习中才能把算理内化为自己的理解,才能使学生理解和掌握算理。所以在学生初步理解了算理后,应当及时组织学生用三个算式进行两位数乘一位数的练习,使学生在练习中加深对算理的理解,在练习中牢固掌握算理,为后面的抽象、概括计算方法奠定坚实的基础。 3、应用算理,进行创造。算理是计算的思维本质,如果都这样思考着算理进行计算,不但思维强度太大,而且计算的速度很慢算。为了提高计算的速度,使计算更方便、快捷,就必须寻找到计算的普遍规律,抽象、概括出计算法则。计算法则是算理的外在表达形式,是避开了复杂思维过程的程式化的操作步骤,它使计算变得简便易行,它不但提高了计算的速度,还大大提高计算的正确率。所以当学生理解和掌握了算理之后,应引导学生对计算过程进行反思,启发学生再思考:计算14×2要写出三个算式,你的感觉怎样?可以简化一下吗?怎么简化?学生通过独立思考、同伴交流创造方便、快捷的计算方法:可以像计算加减法那样用竖式计算,根据算理:先算4×2=8,在个位上写上8,再算10×2=20,在十位上写2、个位上写0,最后再把8和20加起来等于28,得出算理竖式。接着再启发学生思考:还能再简化吗?通过师生共同研究,最终得出:加号可以省略,还可以把8个一与2 个十直接合并,优化成简化竖式。 4、观察比较,归纳方法
(完整word版)三年级奥数乘除法中的巧算
第二讲速算与巧算(二) 一、乘法中的巧算 1.两数的乘积是整十、整百、整千的,要先乘.为此,要牢记下面这三个特 殊的等式: 5×2=10 25×4=100 125×8=1000 例1计算①123×4×25 ② 125×2×8×25× 5×4 解:=123×(4×25) =(125×8)×(25×4) ×(5×2) =123×100=12300 =1000×100× 10=1000000 2.分解因数,凑整先乘。 例2计算①24×25②56×125 ③ 125×5×32×5 =6×(4×25) =7×8×125=7×(8×125) =125 ×5×4×8×5 =6×100 =7×1000 = (125×8)×(5×5×4) =600 =7000 =1000×100=100000
3.应用乘法分配律。 例3计算① 175×34+175×66 ②67×12+67×35+67×52+6 解: =175×(34+66) =67×(12+35+52+1) =175×100 = 67×100 =17500 =6700 例4计算① 123×101 ② 123×99 解: =123×(100+1)=123×100+123 =123×(100-1) =12300+123 =12300-123 =12423 =12177 4.几种特殊因数的巧算。 例5一个数×10,数后添0; 一个数×100,数后添00; 一个数×1000,数后添000; 以此类推。 如:15×10=150 15×100=1500 15×1000=15000 例6一个数×9,数后添0,再减此数; 一个数×99,数后添00,再减此数;
辗转相除法求最大公约数和最小公倍数及其c语言实现
又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至3000年前。 在数学中,辗转相除法,又称欧几里得算法,是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i 和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。 两个整数的最大公约数是能够同时整除它们的最大的正整数。辗转相减法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。例如,252和105的最大公约数是21(252 = 21 ×12;105 = 21 × 5);因为252 ? 105 = 147,所以147和105的最大公约数也是21。在这个过程中,较大的数缩小了,所以继续进行同样的计算可以不断缩小这两个数直至其中一个变成零。这时,所剩下的还没有变成零的数就是两数的最大公约数。由辗转相除法也可以推出,两数的最大公约数可以用两数的整数倍相加来表示,如21 = 5 ×105 + (?2) × 252。这个重要的等式叫做贝祖等式。 简单的想法 设两数为a、b(a>b),b最大公约数(a,b)的步骤如下: 用b除a,得a=bq......r1(0≤r1)。若r1=0,则(a,b)=b; 若r1≠0,则再用r1除b,得b=r1q......r2 (0≤r2).若r2=0,则(a,b)=r1, 若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零除数即为(a,b)。