3算法案例第一课时问题提出1
研究一个实际问题的算法,主要从算法步骤、程序框图和编写程序三方面展开
在程序框图中算法的基本逻辑结构有哪几种
在程序设计中基本的算法语句有哪几种
“求两个正整数的最大公约数”是数学中的一个基础性问题,它有各种解决办法,我们以此为案例,对该问题的算法作一些探究
知识探究(一):辗转相除法思考1:18与30的最大公约数是多少
你是怎样得到的
先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来即为最大公约数
思考2:对于8251与6105这两个数,由于其公有的质因数较大,利用上述方法求最大公约数就比较困难
注意到8251=6105×1+2146,那么8251与6105这两个数的公约数和6105与2146的公约数有什么关系
思考3:又6105=2146×2+1813,同理,6105与2146的公约数和2146与1813的公约数相等
重复上述操作,你能得到8251与6105这两个数的最大公约数吗
2146=1813×1+333,148=37×4+0
333=148×2+37,1813=333×5+148,8251=6105×1+2146,6105=2146×2+1813,辗转相除法是一个反复执行直到余数等于0停止的步骤,这实际上是一个循环结构
8251=6105×1+21466105=2146×2+18132146=1813×1+3331813=333×5+148333=148×2+37148=37×4+0m=n×q+r用程序框图表示出右边的过程r=mMODnm=nn=rr=0
是否思考5:上述求两个正整数的最大公约数的方法称为辗转相除法或欧几里得算法
一般地,用辗转相除法求两个正整数m,n的最大公约数,可以用什么逻辑结构来构造算法
其算法步骤如何设计
第一步,给定两个正整数m,n(m>n)
第二步,计算m除以