1.4.2 算法案例(2)
教学目标:
(1)理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析;
(2)基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序;
教学重点:理解辗转相除法与更相减损术求最大公约数的方法
教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言.
教学过程
一、问题情境
在初中,我们已经学过求最大公约数的知识,你能求出18与30的公约数吗?
我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?比如求8251与6105的最大公约数?这就是我们这一堂课所要探讨的内容.
二、算法设计思想:
1.辗转相除法:
例1.求两个正数8251和6105的最大公约数.
(分析:8251与6105两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数)
解:8251=6105×1+2146
显然8251和的2146最大公约数也必是2146的约数,同样
6105与2146的公约数也必是8251的约数,所以8251与6105的最大公约数也是6105与2146的最大公约数.
6105=2146×2+1813
2146=1813×1+333