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

最大公约数

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;
相关推荐
仰泳的熊猫4 分钟前
题目1474:蓝桥杯基础练习VIP-阶乘计算
数据结构·c++·算法·蓝桥杯
WBluuue6 分钟前
数据结构与算法:dp优化——树状数组/线段树优化
数据结构·c++·算法·leetcode·动态规划
华科大胡子9 分钟前
《Effective C++》学习笔记:条款02
c++·编程语言·inline·const·enum·define
tankeven14 分钟前
HJ84 统计大写字母个数
c++·算法
㓗冽44 分钟前
阵列(二维数组)-基础题79th + 饲料调配(二维数组)-基础题80th + 求小数位数个数(字符串)-基础题81th
数据结构·c++·算法
默凉1 小时前
C++ 编译过程
开发语言·c++
ArturiaZ1 小时前
【day28】
开发语言·c++·算法
我 see your eyes1 小时前
CLA_TASK 任务的理解
c语言·c++·dsp开发
闻缺陷则喜何志丹1 小时前
【状态压缩动态规划】P8733 [蓝桥杯 2020 国 C] 状态压缩动态规划|普及+
c++·算法·蓝桥杯·动态规划·洛谷
alanesnape2 小时前
Valgrind 测试详解--检测内存泄漏的好工具
c语言·c++·算法