4算法案例第2课时重点难点重点:通过案例分析理解辗转相除法与更相减损术求最大公约数的方法,体会算法思想
难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言
学习要求1.理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析
2.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序
【课堂互动】问题:写出求两个正整数a,b(a>b)的最大公约数的一个算法
辗转相除法公元前3世纪,欧几里得介绍了求两个正整数a,b(a>b)的最大公约数的方法,求出一列数:,这列数从第三项开始,每一项都是前两项相除所得的余数(即),余数等于0的前一项,即是a和b的最大公约数,这种方法称为“欧几里得辗转相除法”
例1求两个正数8251和6105的最大公约数.(分析:8251与6105两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数)【解】8251=6105×1+2146显然8251和的2146最大公约数也必是2146的约数,同样6105与2146的公约数也必是8251的约数,所以8251与6105的最大公约数也是6105与2146的最大公约数.6105=2146×2+18132146=1813×1+3331813=333×5+148333=148×2+37148=37×4+0则37为8251与6105的最大公约数.【小结】以上我们求最大公约数的方法就是欧几里得辗转相除法.其求最大公约数的步骤如下:第一步:用较大的数除以较小的数,得到一个商和一个余数;第二步:若,则为的最大公约数;若,则用除数除以余数,得到一个商和一个余数;第三步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数;……依次计算直至,此时所得到的即为所求的最大公约数
【练习】求a=204,b=85的最大公约数,步骤为:S1204÷8