ホーム > libalgo

最小公倍数・最大公約数

概要

最小公倍数(GCD)・最大公約数(LCM) を求める. gcd は algorithm ヘッダのビルトイン関数 __gcd でも代用可. 計算量はフィボナッチ数の逆関数 (のようなもの) で抑えられる.

計算量

$O(\log(\min(a,b)))$

実装

inline ll gcd(ll a, ll b) { return b ? gcd(b, a % b) : a; }
inline ll lcm(ll a, ll b) { return a / gcd(a, b) * b; }