欧几里得(Eculid)最大公约数(GCD)算法
2014-05-13 16:10
288 查看
欧几里德算法又称辗转相除法,用于计算两个正整数m,n的最大公约数。
非递归实现:
递归实现:
非递归实现:
int EuclidGCD(int m, int n) { int r; //cout << "r\tm\tn" << endl; do{ r = m % n; m = n; n = r; //cout <<r << "\t" << m << "\t" << n << endl; }while(r); return m; }
递归实现:
void EuclidGCD2(int m, int n) { if (m % n != 0) EuclidGCD2(n, m % n); else cout << n << endl; }
相关文章推荐
- 算法分析---求最大公约数 gcd(int x,int y) (greatest common divisor )
- C++/C经典算法百题--(39-42)年龄几何,三色球问题,两个正整数的最大公约数和(GCD)和最小公倍数(LCM)
- 对于求解最大公约数GCD与最小公倍数LCM的算法
- 求两个整数的最大公约数,算法原理辗转相除法 原理: GCD (x,y) = GCD(y,x%y)
- 求GCD(最大公约数)的算法
- Java实现算法导论中求解模线性方程解(基于最大公约数欧几里得扩展算法)
- 最大公约数与欧几里得(Euclid)算法
- 欧几里得最大公约数算法
- 最大公约数gcd算法及其扩展
- 欧几里得最大公约数两种算法
- 最大公约数(Gcd)两种算法(Euclid && Stein) [整理]
- 最大公约数(Gcd)两种算法(Euclid && Stein)
- 欧拉算法最大公约数(gcd)&&最大子序列和
- 最大公约数GCD的三种算法程序
- 最大公约数(Gcd)两种算法(Euclid && Stein)转载
- 算法题解之最大公约数(gcd)
- 欧几里得最大公约数算法
- 【算法】辗转相除求最大公约数gcd
- 最大公约数的三种算法(欧几里得递归算法、连续整数检测算法、公共质因数相乘算法)
- 最大公约数算法GCD