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

最大公约数

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;
相关推荐
2401_853576507 分钟前
C++中的组合模式变体
开发语言·c++·算法
无限进步_39 分钟前
深入解析list:一个完整的C++双向链表实现
开发语言·c++·git·链表·github·list·visual studio
仰泳的熊猫1 小时前
题目 2304: 蓝桥杯2019年第十届省赛真题-特别数的和
数据结构·c++·算法·蓝桥杯
Bruce_kaizy1 小时前
c++ linux环境编程——linux信号(signal)
linux·c++·操作系统·环境编程
2401_849644851 小时前
C++代码重构实战
开发语言·c++·算法
2301_815482931 小时前
C++与WebAssembly集成
开发语言·c++·算法
给点sun,就shine1 小时前
sourc insigt使用clang format进行格式管理
c++
沈阳信息学奥赛培训1 小时前
C++ 指针* 和 指针的引用 *& (不是指针和引用,是指针的引用)
数据结构·c++·算法
Albert Edison2 小时前
【ProtoBuf 语法详解】oneof 类型
开发语言·c++·protobuf
样例过了就是过了2 小时前
LeetCode热题100 搜索二维矩阵
数据结构·c++·算法·leetcode·矩阵