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

最大公约数

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;
相关推荐
·白小白15 分钟前
力扣(LeetCode) ——43.字符串相乘(C++)
c++·leetcode
咬_咬24 分钟前
C++仿muduo库高并发服务器项目:Poller模块
服务器·开发语言·c++·epoll·muduo
FMRbpm40 分钟前
链表5--------删除
数据结构·c++·算法·链表·新手入门
Kimser1 小时前
QT C++ QWebEngine与Web JS之间通信
javascript·c++·qt
QT 小鲜肉1 小时前
【QT/C++】Qt样式设置之CSS知识(系统性概括)
linux·开发语言·css·c++·笔记·qt
Elias不吃糖2 小时前
NebulaChat 框架学习笔记:深入理解 Reactor 与多线程同步机制
linux·c++·笔记·多线程
转基因2 小时前
命名空间与匿名空间
c++
煤球王子2 小时前
学而时习之:C++中的动态内存管理
c++
云知谷3 小时前
【经典书籍】《代码整洁之道》第六章“对象与数据结构”精华讲解
c语言·开发语言·c++·软件工程·团队开发
仰泳的熊猫4 小时前
1013 Battle Over Cities
数据结构·c++·算法·pat考试