この最小公倍数(LCM)計算ツールでできること
この計算ツールは、入力した整数すべてを割り切れる最小の正の整数、すなわち「最小公倍数(LCM)」を求めます。1つの入力欄に整数のリストを入れるだけで、それらすべてに共通する最小公倍数を一発で算出します。分母の異なる分数の足し算、繰り返し起こるイベントのスケジュール調整、整数論の問題を解くときなどに役立ちます。
使い方
- 数値 — 入力欄に2つ以上の整数を入力します。
- 区切りはカンマ・セミコロン・スペースのいずれでもOKです。半角カンマ・全角カンマ(、)・セミコロン・あらゆる空白文字で自動的に分割します。
- 負の整数も入力できます。正しい整数(パターン
-?\d+に一致するもの)だけが対象となるため、余計な文字列は無視されます。
たとえば 4, 6, 8 と入力すると、リスト [4, 6, 8] として読み取られます。
計算式の解説
2つの数については、最小公倍数(LCM)と最大公約数(GCD)の有名な関係式を使います。
$$\text{LCM}(a,\,b) = \frac{|a \cdot b|}{\gcd(a,\,b)}$$
3つ以上の数を入力した場合は、この計算をリストに沿って順番に繰り返します。まず最初の2つのLCMを求め、その結果と次の数のLCMを取り、さらにその次へ…と畳み込んでいきます。プログラム的にいえば reduce(畳み込み)処理で、次のように表せます。\(\text{LCM}(a, b, c) = \text{LCM}(\text{LCM}(a, b), c)\)
計算例
4, 6, 8 と入力した場合を見てみましょう。
- ステップ1:\(\gcd(4, 6) = 2\) なので、$$\text{LCM}(4, 6) = \frac{4 \times 6}{2} = \frac{24}{2} = 12$$
- ステップ2:\(\gcd(12, 8) = 4\) なので、$$\text{LCM}(12, 8) = \frac{12 \times 8}{4} = \frac{96}{4} = 24$$
こうして計算ツールは 24 を返します。これが、4・6・8 のすべてを割り切れる最小の数です。
よくある質問
3つ以上の数を入力できますか? はい、可能です。個数の上限はありません。リスト全体を処理し、2つずつLCMを取りながら最終的に1つの答えにまとめます。
負の数を入れるとどうなりますか? 負の数も問題なく入力でき、正しく処理されます。計算式では積の絶対値を使うため、最小公倍数は常に正の整数として表示されます。
文字や記号が混ざっているとどうなりますか? 数字以外のトークンは自動的に除外されます。正しい整数パターンに一致する入力だけが使われるので、4, x, 6 は 4, 6 と同じ扱いになります。