最大公倍数和最小公倍数
来源:互联网 发布:php 微信开发教程 编辑:程序博客网 时间:2024/04/30 14:57
最大公约数(欧几里德算法or辗转相除法)
我们用gcd(a, b)表示a和b的最大公约数,那么
gcd(a, b) = gcd(b, a%b)
时间复杂度: O(lgb)
具体证明很多的,百度即可。
代码:
int gcd(int a, int b){return (b?gcd(b, a%b):a);}
(非递归版自己推)
最小公倍数:我们用lcm(a, b)表示a和b的最小公倍数,那么
lcm(a, b) = a*b/gcd(a, b)
这里要注意个细节优化,在程序中应该防止溢出,即要写成
lcm(a, b) = a/gcd(a, b)*b
时间复杂度:O(lgb)
同上gcd
代码:
inline lcm(int a, int b){return a / gcd(a, b) * b;}
- 最大公倍数和最小公倍数
- <c语言经典100例>c14 最大公倍数和最小公倍数
- ACM-最小公倍数与最大公倍数
- 最大公约数和最大公倍数
- 最大公约数和最大公倍数
- 最小公约数和最大公倍数
- 求最大公约数和最大公倍数
- 最大公倍数
- 求最小公约数和最大公倍数
- 求最大公倍数和最小公约数
- 最小公约数和最大公倍数模板
- 最大公因数和最小公倍数
- 求最大公因数和最小公倍数
- 求最大公因数和最小公倍数
- 求最大公因数和最小公倍数
- 求最大公因数和最小公倍数
- 求两个数的最大公约数和最大公倍数
- c语言求最小公约数和最大公倍数
- PHYSX培训圆满结束,以及下一步规划
- 一道面试题
- java生成PDF文件
- 侯捷对进入 IT行业的年轻人的建议
- 源码设置
- 最大公倍数和最小公倍数
- 导入AIDL例子的时候,在asBinder出现错误
- 解决NetBeans 6.5的使用问题
- update-alternatives
- IOS学习笔记34—EGOTableViewPullRefresh实现下拉刷新
- 不是技术牛人,如何拿到国内IT巨头的Offer 2014找工作总结-机会往往留给有准备的人
- java上传文件到FTP
- MFC中ON_UPDATE_COMMAND_UI和ON_COMMAND消息区别,OnMenuSelect事件介绍
- rman 备份与恢复