用欧几里得算法求解最大公约数
2009-07-05 21:17
246 查看
/* * Author: Leng_que * Date: 2009年7月5日 * E-mail: leng_que@yahoo.com.cn * Description: 欧几里德(Euclid)算法又称辗转相除法,用于计算两个整数的最大公约数。 */ #include <iostream> using namespace std; //欧几里得求最大公约数算法 —— 递归版 int gcd_recursive(int a,int b) { if ( a%b == 0 ) { return b; } else { return gcd_recursive( b, a%b ); } } //欧几里得求最大公约数算法 —— 非递归版 int gcd(int a,int b) { int temp=0; for(;;) { if ( a%b == 0 ) { return b; } else { temp = a%b; a = b; b = temp; } } } int main(void) { int r=0; int a,b; a = 12; b = 20; cout<<a<<"和"<<b<<"的最大公约数为:"<<endl; r = gcd_recursive(a,b); cout<<r<<endl; r = gcd(a,b); cout<<r<<endl; return 0; }
相关文章推荐
- 求解最大公约数——欧几里得算法及其(解同余方程)拓展欧几里得
- 欧几里得算法求解最大公约数和最小公倍数
- 欧几里得算法求解最大公约数
- 算法怎么就这么难?----使用欧几里得算法求两数的最大公约数
- 筛法求素数,欧几里得算法求最大公约数
- 欧几里得算法求最大公约数
- 特殊数求解(最大公约数/最小公倍数/素数)
- Java实现算法导论中最大公约数欧几里得算法
- 求解2个数的最大公约数 和 求解质因数
- 辗转相除法原理实现最大公约数的求解
- 【经典算法】:欧几里得算法求最大公约数
- 最大公约数求解
- C++实现求解最大公约数和最小公倍数
- 使用Python求解最大公约数
- 欧几里得算法_求最大公约数
- 辗转相除法原理实现最大公约数的求解
- 递归求解最大公约数...
- 最小公倍数和最大公约数求解方法
- 第四周项目5:用递归方法求解(3)求两个数的最大公约数
- 最大公约数求解