[考前速记] 最大公约数与最大公倍数

最大公约数

cpp 复制代码
int gcd(int a,int b){
    if (b==0)return a;
    else return gcd(b,a%b);
}

熟练了可以写成:

cpp 复制代码
int gcd(int a,int b){
    return b ? gcd(b,a%b):a;
}

值得注意的是:让a和b均为非负数,可以使用algorithm下的abs(int x)和cmath下的fabs(double x);

最大公倍数是在最大公约数的基础上:

最大公倍数等于

cpp 复制代码
a*b/gcd(a,b)

但由于a*b可能溢出,因此可以修改为

cpp 复制代码
a/gcd(a,b)*b;
相关推荐
weixin_4617694037 分钟前
3. 无重复字符的最长子串
c++·算法·滑动窗口·最长字串
Morwit39 分钟前
【力扣hot100】 312. 戳气球(区间dp)
c++·算法·leetcode
Q741_1471 小时前
C++ 栈 模拟 力扣 394. 字符串解码 每日一题 题解
c++·算法·leetcode·模拟·
阿闽ooo1 小时前
桥接模式实战:用万能遥控器控制多品牌电视
c++·设计模式·桥接模式
Wuliwuliii1 小时前
闵可夫斯基和、需存储的最小状态集
c++·算法·动态规划·闵可夫斯基和
驱动男孩2 小时前
c++新特性- 个人总结
c++·c++新特性
行稳方能走远2 小时前
Android C++ 学习笔记 2
android·c++
浅川.252 小时前
STL专项:deque 双端队列
开发语言·c++·stl·deque
mmz12072 小时前
差分数组(二维)(c++)
c++·算法