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

最大公约数

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;
相关推荐
OPEN-F11 小时前
C++进阶教程:继承与多态
开发语言·c++
luj_176812 小时前
大律师考核应重能力与科技素养
c语言·开发语言·c++·经验分享·算法
刃神太酷啦13 小时前
Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)
android·linux·c语言·c++·mysql·leetcode·mariadb
汉克老师16 小时前
CSP-J 初赛(以满分为目标):第十五课《结构体、排序与自定义比较——从“给数字排队”到“给一群人排队”》
c++·csp-j·小学生·学c++编程
HugoStudio_SWAN17 小时前
C++ CMD 互动动画:按键触发爆炸效果
开发语言·c++·学习·程序人生
水饺编程17 小时前
第5章,[Win32 章节] :Polygon 函数和多边形填充模式
c语言·c++·windows·visual studio
wuminyu17 小时前
Java FFM处理网络读写事件源码剖析
java·linux·c语言·jvm·c++
一木 之林18 小时前
C/C++ 面向对象编程(OOP)(进阶)
java·c语言·c++
千谦阙听19 小时前
C++篇:类和对象(上)
开发语言·c++
_Narcissus_20 小时前
分治&递归
数据结构·c++·笔记·算法·leetcode·递归·分治