最大公约最小公倍数算法
来源:互联网 发布:linux下mysql配置详解 编辑:程序博客网 时间:2024/05/15 19:29
1.最大公约数:
使用欧几里德算法(辗转相除法),其原理依赖定理:gcd(a,b) = gcd(b,a mod b)
证明:令a>b(类似可证a<b,a=b时公约数为a或b),a = kb + r,则r = a modb
必要条件:假设d是a,b的一个公约数,则有d|a,d|b,而r = a - kb,因此d|r。故d是(b,a mod b)的公约数;
充分条件:假设d是(b,a mod b)的公约数,则d|b,d|r,又因a = kb + r,故因此d也是(a,b)的公约数;
C++算法:
int gcd(int a,int b)
{
if( 0 == a ) return b;
if( 0 == b ) return a;
if(a < b)
{
a ^= b;
b ^= a;
a ^= b;
}
while(b > 0)
{
int c(a % b);
a = b;
b = c;
}
return a;
}
2.最小公倍数:
C++源码:
int lcm(int a,int b)
{
return a*b/gcd(a,b);
}
- 最大公约最小公倍数算法
- 最大公约最小公倍数
- python最小公倍数与最大公约
- C++实验7-最大公约和最小公倍数
- 实验七-最大公约和和最小公倍数
- 拓展:求三个数的最大公约与最小公倍数
- c++实验7--最大公约和和最小公倍数
- C++实验7——最大公约和最小公倍数
- C++实验7——最大公约和和最小公倍数
- C++实验7-最大公约和和最小公倍数
- C++第七次实验(最大公约和和最小公倍数)
- C++实验7——最大公约和和最小公倍数
- c++实验七—最大公约和和最小公倍数
- C++实验7--项目2:最大公约和和最小公倍数
- c++实验7-最大公约和和最小公倍数
- C++实验7-最大公约和和最小公倍数
- C++实验7-最大公约和和最小公倍数
- 最大最小公倍数 ( 算法训练 )
- 美国培养女国务卿的摇篮
- 生成临时表并改表结构
- 重新启用本BLOG
- Hibernate3主键冲突问题
- 反汇编教程及汇编命令详解(一)
- 最大公约最小公倍数算法
- 2008最值得学习的五种JAVA技术
- 写出漂亮代码的七种方法
- Oracle10g完全卸载-Windows下
- 无名师的Unix心传
- 关于乐观锁与悲观锁
- Inline Class(将类内联化)
- flex 读取返回的java对象
- 大家小心点:全国部分地区出现高仿真百元假钞