この計算機でできること
このツールでは、2つ以上の整数について、数論で重要な2つの値を求められます。1つは最大公約数(G.C.D.)で、英語ではGCF(Greatest Common Factor)やHCF(Highest Common Factor)とも呼ばれます。もう1つは最小公倍数(L.C.M.)です。最大公約数とは、入力したすべての数を割り切る最大の正の整数のこと。最小公倍数とは、入力したすべての数で割り切れる最小の正の整数のことです。これらは分数の約分や通分はもちろん、スケジュール調整、歯車比、暗号理論まで、さまざまな場面で登場します。
使い方
2つ以上の正の整数を、カンマまたはスペースで区切って入力します(例:12, 18, 24)。負の数は絶対値に変換され、小数は最も近い整数に四捨五入されます。計算すると、最大公約数と最小公倍数が同時に表示されます。なお、0を含めた場合、最小公倍数は0として表示されます。0は他の数と共通する正の倍数を持たないためです。
計算のしくみ
2つの数の最大公約数はユークリッドの互除法で求めます。\((a, b)\) の組を \((b, a \bmod b)\) に置き換える操作を繰り返し、2つ目の値が0になったときに残った1つ目の値が最大公約数です。最小公倍数はそこから \((a \div \gcd) \times b\) で導きます。この計算順序は、桁あふれ(オーバーフロー)を抑えるために選んでいます。3つ以上の数の場合は、2つずつ順番に処理します。まず最初の答えを次の数と組み合わせ、さらにその結果を次の数と組み合わせる、という流れで全体を求めます。
$$\gcd(a_1,\dots,a_k), \qquad \operatorname{lcm}(a_1,\dots,a_k) = \frac{|a_i \cdot a_j|}{\gcd(a_i,a_j)}$$ $$\text{where}\quad \left\{ \begin{aligned} a_1,\dots,a_k &= \text{Integers (abs. values)} \\ \gcd &= \text{computed via the Euclidean algorithm} \end{aligned} \right.$$
計算例
12, 18, 24 を例に考えてみましょう。まず \(\gcd(12, 18) = 6\)、続いて \(\gcd(6, 24) = 6\) となるので、最大公約数は6です。最小公倍数は、 $$\operatorname{lcm}(12, 18) = 12 \times 18 \div 6 = 36$$ 次に $$\operatorname{lcm}(36, 24) = 36 \times 24 \div 12 = 72$$ となり、最小公倍数は72です。検算してみると、\(72 \div 12 = 6\)、\(72 \div 18 = 4\)、\(72 \div 24 = 3\) とすべて割り切れ、6は3つの入力すべてを割り切れます。
よくある質問
GCDはGCFやHCFと同じものですか? はい、同じです。Greatest Common Divisor(最大公約数)、Greatest Common Factor、Highest Common Factor は、いずれも同じ数を指す3つの呼び方です。
2つの数に共通の約数がない場合はどうなりますか? 最大公約数が1のとき、それらの数は互いに素(コプライム)であり、最小公倍数は単純にそれらの数の積になります。
3つ以上の数を入力できますか? はい。整数はいくつでも入力でき、入力したすべての数についてまとめて最大公約数と最小公倍数を計算します。