欧几里德算法又称辗转相除法,用于计算两个整数m和n(0≦m<n)的最大公约数,记为gcd(m,n)。其计算过程是重复应用下列等式,直到n mod m=0.
gcd(m,n)=gcd(n mod m,m),对于m>0;
式中,n mod m表示n除以m之后的余数。
代码如下:
1、递归实现:
2、迭代实现:
参考文献:《算法设计与分析——C++语言描述》 电子工业出版社 陈慧南编著
欧几里德算法又称辗转相除法,用于计算两个整数m和n(0≦m<n)的最大公约数,记为gcd(m,n)。其计算过程是重复应用下列等式,直到n mod m=0.
gcd(m,n)=gcd(n mod m,m),对于m>0;
式中,n mod m表示n除以m之后的余数。
代码如下:
1、递归实现:
2、迭代实现:
参考文献:《算法设计与分析——C++语言描述》 电子工业出版社 陈慧南编著