辗转相除法,又叫更相减损术,主要用于求较大数字的最大公因数,计算机编程一般也用这种方法。
PS:其实这俩是有区别的,前者是外来的,后者是老祖宗发明的。但我认为本质上是一样的,前者用的是除法求余,后者用的是连减求余,前者可以看作后者的简便方法。百度了一下,发现现在这种方法已经编入了高中课本,作为不同的算法来介绍的。本篇文章主要是针对小学阶段求最大公因数,所以不作区分。
在前面《因数倍数总结(一)》中其实已经说过:大÷小,除数÷余数,除数÷余数,……,直到整除时最后一个除数即为所求。
下面举个具体例子:
例、求250与2538的最大公因数与最小公倍数
2538÷250=10……38
250÷38=6……22
38÷22=1……16
22÷16=1……6
16÷6=2……4
6÷4=1……2
4÷2=2
(250,2538)=2,[250,2538]=250×2538÷2=317250
小结:
上面的例子中辗转相除法并不简单,为什么呢?因为数字小、简单,辗转相除法的优势主要在于数字较大时。
其实辗转相除法本就不是什么简单的算法,只是“机械的重复”这一特点既好记又便于编程。那怎样就简单了呢?
仔细观察,你会发现,辗转相除法中隐含着一条性质:(除数,被除数)=(除数,余数),利用这一条性质就可以方便地把较大数字转化为较小数字,当数字足够小,方便用短除法或分解质因数等方法时,就不要再一味地“除数÷余数”了,在适当的时候用适当的方法迅速解决战斗。也就是说,数字较大时,先辗转,后短除。