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

最大公约数

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;
相关推荐
luj_17687 小时前
星火科技助力边远地区防病攻坚
c语言·开发语言·c++·经验分享·算法
zmzb01038 小时前
C++课后习题训练记录Day175
开发语言·c++
啦啦啦啦啦zzzz9 小时前
工具:动态类工厂和用配置文件存储属性
c++·设计模式·工具·动态工厂
脱胎换骨-军哥9 小时前
C++ 代码规范与格式化指南
开发语言·c++·代码规范
迷途之人不知返11 小时前
lambda表达式
c++
@三十一Y11 小时前
C++:红黑树的实现
开发语言·c++
_wyt00111 小时前
拓扑排序:有向无环图的排队艺术
c++·拓扑排序·队列
皓月斯语11 小时前
B2118 验证子串
c++·题解
乐观勇敢坚强的老彭11 小时前
C++信奥:开关门、开关灯问题
开发语言·c++·算法
2301_7779983412 小时前
C/C++:预处理详解
c语言·c++