整数は、3つ以上入力することも可能です。
入力する際には、それぞれの整数を空白や改行で区切ってください。
計算には、javascriptライブラリmath.jsを使用しています。
最小公倍数とは、整数がいくつかあった場合に、それらの共通の倍数のうち、最小の数を意味します。
記号で表す場合は、「lcm」を使います。
たとえば、8と12の最小公倍数なら「lcm(8,12)」と表記します。
ちなみに、lcmは、英語の”least common multiple”の略語です。
最小公倍数の簡単な求め方
最小公倍数の求め方には、大きく分けて2つのやり方があります。
1つは、素因数分解を使う方法。
もう1つは、ユークリッドの互除法を使う方法です。
素因数分解を使った最小公倍数の求め方
たとえば、12と40の最小公倍数を求める場合は、まずは、それぞれを素因数分解します。
それぞれに共通するのは 22 だけですから、22=4が最大公約数(共通して割り切れる数のうち、最大の数)であることが分かります。
この最大公約数をもとにして、先ほどの素因数分解は、次のように書き換えることができます。
最大公約数は4で、それ以外の数は3と2と5。
そして、これらすべてを掛け合わせた値、120が、最小公倍数となります。
このように、最大公約数さえ分かれば、最小公倍数を求めることが可能です。
なお、12と40の最小公倍数は、最大公約数4を使って、次のように計算することもできます。
ユークリッドの互除法
最小公倍数を求めるには、先に最大公約数を求める必要があるのですが、桁が増えると、素因数分解だけで計算するのは難しくなっていきます。
そういうときに便利なのが、ユークリッドの互除法を使った最大公約数の求め方です。
ユークリッドの互除法を理解するには、実際の計算例を見ていただいた方が早いです。
たとえば、1947 と 1848 の最大公約数を求める場合は、次のように計算します。
- 1947 > 1848 なので、大きい方の数 1947 を小さい方の数 1848 で割って、余りを求める。
⇒ 余りは99 - 1848 > 99 なので、大きい方の数 1848 を小さい方の数 99 で割って、余りを求める。
⇒ 余りは66 - 99 > 66 なので、大きい方の数 99 を小さい方の数 66 で割って、余りを求める。
⇒ 余りは33 - 66 > 33 なので、大きい方の数 66 を小さい方の数 33 で割って、余りを求める。
⇒ 余りは0 - 余りが0になったので、最大公約数は33となる。
やり方としては、AとBの2つの数があった場合に、大きい方の数字を小さい方の数字で割って、余りCを求めます。
続いて、先ほどの小さい方の数字Bと、余りCを比べます。
そして、大きい方の数字を小さい方の数字で割って、余りを求めます。
この余りが0になった段階で計算終了です。
1947と1848の計算に話しを戻します。
先ほどの計算で、最大公約数は33であることが分かったので、ここから最小公倍数を求めるのはとても簡単です。
次のように計算すればOKです。
素因数分解を使ったやり方よりも、ユークリッドの互除法を使ったやり方のほうが汎用的なので、覚えておくと便利ですよ。
エクセルで最小公倍数を求める
なお、最小公倍数はエクセルで求めることも可能です。
関数名は、lcm()。
引数は、255個まで指定でき、小数を指定すると、小数点以下が切り捨てられて計算されます。
= lcm ( 数値1 , 数値2 , 数値3 … )
GoogleのスプレッドシートやAppleのNumbersといった表計算ソフトにもlcm関数は用意されているので、それらをお使いの場合でも、手軽に計算できますよ。
ちなみに、当サイトでは、最大公約数の計算ツールも公開しています。
そちらも、ぜひ活用してください。
この記事についてのご感想などをお寄せください。
サイト運営の参考にさせていただきます。
頂いたコメントには、2〜3日以内にメールアドレス宛に回答いたします。(詳細)
メールアドレスの入力ミスにご注意ください。
なお、頂いたコメント及びその後のメール等でのやり取りは、この欄でご紹介させていただく場合がございます。