欧几里德算法--最大公约数(最小公倍数)
来源:互联网 发布:三星门锁app软件 编辑:程序博客网 时间:2024/05/29 04:49
欧几里德算法也就是辗转相除法,有着2000年的历史了。欧几里德算法依据的算法理论是一个定理:gcd(a,b) = gcd(b,a mod b)。
实现源码为:
//递归实现
int gcd(int m,int n)
{
if (m < n)
{
int tmp = m;
m = n;
n = tmp;
}
if (n == 0)
return m;
else
return gcd(n,m % n);
}
//非递归实现
int gcd2(int m,int n)
{
if (m < n)
{
int tmp = m;
m = n;
n = tmp;
}
if (n == 0)
return m;
while (n > 0)
{
int tmp = m % n;
m = n;
n = tmp;
}
return m;
}
这里给出了最大公约数的算法,那怎么求最大公倍数呢?其实知道了最大公约数,最小公倍数的求法就简单了:
int gbs(int m,int n)
{
return m*n/gcd(m,n);
}
- 欧几里德算法--最大公约数(最小公倍数)
- 欧几里德算法(辗转相除法)求最大公约数和最小公倍数
- 欧几里德算法求最大公约数和最小公倍数
- 求最大公约数--欧几里德算法 及 最小公倍数
- 欧几里德求最大公约数/最小公倍数
- 欧几里德算法(最大公约数算法)
- HDU1019-欧几里德算法--辗转相除法解最大公约数&&最小公倍数
- 最大公约数欧几里德算法(辗转相除法)
- 最大公约数与欧几里德算法
- 最大公约数----欧几里德算法
- 欧几里德算法求最大公约数
- 欧几里德算法求最大公约数
- 欧几里德算法求最大公约数
- 欧几里德算法 求最大公约数
- 欧几里德算法--求最大公约数
- 欧几里德算法求最大公约数
- 欧几里德算法求最大公约数
- 欧几里德算法--求解最大公约数
- poj 2689 Prime Distance
- 第八周项目1(3)
- 交流调压控制
- 迪杰斯特拉(Dijkstra)算法
- Linux的原子操作与同步机制
- 欧几里德算法--最大公约数(最小公倍数)
- theano tutorial(五)计算偏导数
- 蛤玮学计网
- hdu 1009 FatMouse' Trade
- hdu 1151 Air Raid 最小路径覆盖
- 缺少ld-musl-armhf.so.1
- 【分词】正向最大匹配中文分词算法
- 安卓011线程&Handler
- 弗洛伊德(Floyd)算法