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

最大公约数

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;
相关推荐
硬匠的博客1 分钟前
C/C++指针
c语言·开发语言·c++
向日葵.18 分钟前
CMake学习
开发语言·c++·学习
wuqingshun31415939 分钟前
蓝桥杯 1.路径之谜
c++·算法·职场和发展·蓝桥杯·深度优先
Vesan,44 分钟前
C++ static的使用方法及不同作用
java·jvm·c++
rqtz1 小时前
【C++面向对象】封装(下):探索C++运算符重载设计精髓
开发语言·c++·运算符重载
小c君tt1 小时前
qt/C++面试题自用学习(更新中)
c++·qt·学习·面试
愚润求学2 小时前
【专题刷题】双指针(三):两数之和,三数之和,四数之和
c++·笔记·leetcode·刷题
愚润求学2 小时前
【C++】map和set
开发语言·c++·笔记
末央&3 小时前
【C++】priority_queue的底层封装和实现
开发语言·c++
superior tigre3 小时前
C++学习:六个月从基础到就业——面向对象编程:虚函数与抽象类
开发语言·c++·学习