第12课时5
4算法案例重点难点重点:通过案例分析理解辗转相除法与更相减损术求最大公约数的方法,体会算法思想
难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言
用心爱心专心1学习要求1.理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析
2.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序
【课堂互动】问题:写出求两个正整数a,b(a>b)的最大公约数的一个算法
辗转相除法公元前3世纪,欧几里得介绍了求两个正整数a,b(a>b)的最大公约数的方法,求出一列数:0,,,,,,121nnrrrrba,这列数从第三项开始,每一项都是前两项相除所得的余数(即),(12nnnrrModr),余数等于0的前一项nr,即是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的最大公约数.【小结】以上我们求最大公约数的方法就是欧几里得辗转相除法.其求最大公约数的步骤如下:第一步:用较大的数m除以较小的数n得到一个商0q和一个余数0r;第二步:若00r,则n为,mn的最大公约数;若00r,则用除数n除以余数0r得到一个商1q和一个余数1r;第三步:若10r,则1r为,mn的最大公约数;若