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

最大公约数

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 小时前
从零实现一个高并发内存池(1)--- 项目介绍
c++
wjlnew1 小时前
c++中的内存管理:栈,堆及RALL机制
c++
无限进步_2 小时前
【C语言】用队列实现栈:数据结构转换的巧妙设计
c语言·开发语言·数据结构·c++·链表·visual studio
千里马-horse3 小时前
TypedArrayOf
开发语言·javascript·c++·node.js·napi
YIN_尹3 小时前
【C++11】lambda表达式(匿名函数)
java·c++·windows
陳10303 小时前
C++:vector(2)
开发语言·c++
盖世灬英雄z3 小时前
数据结构与算法学习(一)
c++·学习·排序算法
CodeOfCC3 小时前
C++ 基于kmp解析nalu
c++·音视频·实时音视频·h.265·h.264
Sheep Shaun3 小时前
STL中的map和set:红黑树的优雅应用
开发语言·数据结构·c++·后端·c#
1001101_QIA4 小时前
【C++笔试题】递归判断数组是否是递增数组
开发语言·c++