辗转相除法,又称欧几里德算法,是求两个数的最大公约数的一种方法。用较大的数除以较小的数,再以除数和余数反复做除法运算,当余数为0时,取当前算式除数为最大公约数。
如求30和18的最大公约数:
30/18=1余12
18/12=1余6
12/6=2余0
所以30和18的最大公约数是6
当小数除以大数,只是过程多了一步,结果没有差别,所以写代码时不用考虑两个数的大小。
18/30=0余18
30/18=1余12
18/12=1余6
12/6=2余0
代码如下:
辗转相除法,又称欧几里德算法,是求两个数的最大公约数的一种方法。用较大的数除以较小的数,再以除数和余数反复做除法运算,当余数为0时,取当前算式除数为最大公约数。
如求30和18的最大公约数:
30/18=1余12
18/12=1余6
12/6=2余0
所以30和18的最大公约数是6
当小数除以大数,只是过程多了一步,结果没有差别,所以写代码时不用考虑两个数的大小。
18/30=0余18
30/18=1余12
18/12=1余6
12/6=2余0
代码如下: