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

最大公约数

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;
相关推荐
ZouZou老师37 分钟前
C++设计模式之解释器模式:以家具生产为例
c++·设计模式·解释器模式
无限进步_1 小时前
深入理解 C/C++ 内存管理:从内存布局到动态分配
c语言·c++·windows·git·算法·github·visual studio
JANGHIGH1 小时前
c++ 多线程(三)
开发语言·c++
点云SLAM2 小时前
C++ 中traits 类模板(type traits / customization traits)设计技术深度详解
c++·算法·c++模板·c++高级应用·traits 类模板·c++17、20·c++元信息
水饺编程2 小时前
第3章,[标签 Win32] :处理 WM_PRINT 消息
c语言·c++·windows·visual studio
慕容青峰3 小时前
【LeetCode 1925. 统计平方和三元组的数目 题解】
c++·算法·leetcode
哈哈xcpc-43993 小时前
天梯赛题解(Python和C++解法)
开发语言·c++·python
咔咔咔的3 小时前
1925. 统计平方和三元组的数目
c++
zmzb01034 小时前
C++课后习题训练记录Day47
开发语言·c++
papership4 小时前
【C++类的基本概念与定义】
开发语言·c++