目次
# 用途
2つの整数の最小公約数を求める.
# アルゴリズム
ユークリッドの互除法と呼ばれるアルゴリズム.
2つの数のうち小さい方をx、大きい方をyとおく.
次に割る数yが0になるまで以下を繰り返す
xの最後の値が最大公約数.
# 計算量
%
をb回繰り返すとすると、
O(logb)
# コード
Int gcd(Int x, Int y) {
if (x > y) swap(x, y);
Int r;
while (y > 0) {
r = x % y;
x = y;
y = r;
}
return x;
}