绿色圃中小学教育网

最大公约数的算法

[原创]
导读 最大公约数是指两个或多个整数共有的约数中最大的一个。求最大公。绿色圃中小学教育网百科专栏,提供全方位全领域的生活知识

最大公约数是指两个或多个整数共有的约数中最大的一个。求最大公约数是数学中的基本问题之一,也是计算机算法中经常用到的问题。下面将介绍两种常用的最大公约数算法。

一、辗转相除法

辗转相除法又称欧几里得算法,是求最大公约数的一种简单有效的方法。假设要求的两个数为a和b(a>b),则用a除以b得到余数r,若r为0,则b即为最大公约数;若r不为0,则用b除以r得到余数r1,若r1为0,则r即为最大公约数;若r1不为0,则继续用r除以r1,直到余数为0为止。

例如,求252和105的最大公约数:

252÷105=2......42

105÷42=2......21

42÷21=2......0

因此,最大公约数为21。

二、更相减损术

更相减损术是中国古代的一种求最大公约数的方法。假设要求的两个数为a和b(a>b),则用a-b得到一个新的差值c,再用b-c得到一个新的差值d,如此往复,直到差值为0,此时b即为最大公约数。

例如,求252和105的最大公约数:

252-105=147

105-147=-42

147-(-42)=189

-42-189=-231

189-(-231)=420

-231-420=-651

420-(-651)=1071

-651-1071=-1722

1071-(-1722)=2793

-1722-2793=-4473

2793-(-4473)=7266

-4473-7266=-11739

7266-(-11739)=19005

-11739-19005=-30744

19005-(-30744)=49749

-30744-49749=-80493

49749-(-80493)=130242

-80493-130242=-210735

130242-(-210735)=340977

因此,最大公约数为21。

总的来说,辗转相除法和更相减损术都是简单有效的求最大公约数的算法,但辗转相除法更加高效,尤其是对于大数计算。