求最小公倍数(公式法)的实现
2016-03-04 20:50
337 查看
LCM(a,b) = | a × b |
GCD(a,b) |
也就是 gcd(a, b) * lcm(a, b) = a * b;
所以 lcm(a, b) = (a * b)/gcd(a, b);
可以写出函数:
int gcd(int a, int b) {
return b == 0 ? a : (b, a%b);
}
int lcm(int a, int b) {
return a*b/gcd(a, b);
}
a*b 可能造成溢出,所以可以换一种写法
int lcm(int a, int b) { return a/gcd(a, b) * b; }
相关文章推荐
- POJ3581 Sequence(后缀数组)
- 大论文中对参考文献添加操作相关总结
- 文件缓存
- next_permutation函数
- 02.Java基础-标识符、关键字、数据类型--01
- Android应用开发相关
- 虚拟机上redhat6安装VMware Tools
- objective -c之分类,协议。
- OC_继承与多态
- DOM操作优化
- typedef的使用2——定义函数
- 一键取消 OS X 开机启动项
- android开发知识转载(长期更新)
- ZOJ 3537 简单凸包+DP
- Android实现界面左右滑动切换
- 极客学院安卓视频零散笔记总结
- hdu1754 I Hate It(线段树点的更新和区间查找)
- EA使用初步
- typedef的使用1——引入
- 记一道智力题