最大公约数算法——欧几里德算法

来源:互联网 发布:linux qq 2017 编辑:程序博客网 时间:2024/06/14 16:04

欧几里德算法又称辗转相除法,用于计算两个整数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++语言描述》 电子工业出版社 陈慧南编著