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

最大公约数

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;
相关推荐
「QT(C++)开发工程师」3 分钟前
C++11 新特性 正则表达式、随机数库、元组
c++·正则表达式
free-elcmacom1 小时前
C++ 默认参数详解:用法、规则与避坑指南
开发语言·c++
Albert Edison1 小时前
【ProtoBuf 语法详解】Any 类型
服务器·开发语言·c++·protobuf
无忧.芙桃2 小时前
C++11的部分内容(上)
c++
小璐资源网2 小时前
C++中如何正确区分`=`和`==`的使用场景?
java·c++·算法
AMoon丶2 小时前
C++模版-函数模版,类模版基础
java·linux·c语言·开发语言·jvm·c++·算法
AMoon丶3 小时前
Golang--多种数据结构详解
linux·c语言·开发语言·数据结构·c++·后端·golang
王老师青少年编程4 小时前
2026年3月GESP真题及题解(C++一级):数字替换
c++·题解·真题·gesp·一级·2026年3月·数字替换
愚者游世4 小时前
template学习大纲
开发语言·c++·程序人生·面试·visual studio
宵时待雨4 小时前
C++笔记归纳10:继承
开发语言·数据结构·c++·笔记·算法