Processing math: 100%
スポンサーリンク

3つ以上の整数の最小公倍数はどう求める?

代数学

本記事の内容

本記事は「3つ以上の整数の最小公倍数はどう求めるのか?」について解説する記事です。

本記事を読むに当たり、最小公倍数について知っている必要があるため、以下の記事も合わせて御覧ください。

いきなりですが、問題です。

問題
123,223,29の最小公倍数は?

難易度としては、大したことではありません。
解く事自体は問題ないでしょう。

解答は、795441です。
つまり、lcm(123,223,29)=795441です。

筆者は最初愚直に解いてみましたが、断念して計算サイトを使いました。

愚直に計算する場合、大きい数の最大公約数は約数を見つけていくことが大変ですが、大きい数の最小公倍数は桁がどんどん大きくなるため、単純な計算でも骨が折れるのです。

高々3桁の3つの整数の最小公倍数だというのに、結果は「エライコッチャ」という感じです。
大きい数の最大公約数はユークリッドの互除法で求めるのでした(勿論愚直に計算してもOKです)。
では、最小公倍数は?というのが今回の内容になります。

結論:lcm(a,b,c)=lcm(lcm(a,b),c)を使う。

結論としては、lcm(a,b,c)=lcm(lcm(a,b),c)を使います(後で証明します)。

これはどういうことかというと、3つの整数の最小公倍数を求めるとき、それらの整数の一部分をその最小公倍数で置き換えてOKということです。

例えば、a,b,cの最小公倍数は、a,bの最小公倍数mcとの最小公倍数と等しいのです。

これは一般の個数でも成り立ちます。

定理1.

3つ以上の整数の最小公倍数は、それらの整数の一部分をその最小公倍数で置き換えて良い。すなわち、a1,a2,a3,,anZに対して、 lcm(a1,a2,a3,,an)=lcm(lcm(a1,a2),a3,,an) が成り立つ。

定理1.の証明

l=lcm(a1,a2,a3,,an)、すなわちa1,a2,a3,,anの最小公倍数をlとします。
また、m=lcm(a1,a2)とし、l=lcm(m,a3,,an)とします。
まとめると、
l=lcm(a1,a2,a3,,an)m=lcm(a1,a2)l=lcm(m,a3,,an)=lcm(lcm(a1,a2),a3,,an)
とします。
このとき、示したいのはl=lです。

さて、la1a2の最小公倍数ですから、la1a2の公倍数です。
ここで、次の事実を使います。

定理2.

2つ以上の整数の公倍数は最小公倍数の倍数である。

定理2.の証明は【代数学の基礎シリーズ】初等整数論編 その3を御覧ください。

la1a2の公倍数である為、定理2.から、lm=lcm(a1,a2)の倍数です。

lはもともとl=lcm(a1,a2,a3,,an)だったわけですので、la3,,anの公倍数でもあります。
故に、lm,a3,,anの公倍数ということになります。
lm,a3,,anの最小公倍数ですので、llの倍数です。

また、lに注目してみると、l=lcm(m,a3,,an)だったわけですので、lmの倍数、すなわちa1a2の倍数です。
故に、la1,a2,a3,,anの公倍数です。

さて、l=lcm(a1,a2,a3,,an)、すなわちa1,a2,a3,,anの最小公倍数ですので、llの倍数です。

以上のことから、llの倍数であり、同時にllの倍数でもあるため、l=lです。
実際、k,kNを用いてl=kll=klと書いたとします。
このとき、l=kklです。
lは最小公倍数ですのでl0ですから、kk=1となります。
k,kNですから、k=k=1となって、l=lです。

定理1.の証明終わり

lcm(a1,a2)に対して、a1a2が大きい数だったら元も子もないのでは?

定理1.からa1,a2,a3,,anZに対して、
lcm(a1,a2,a3,,an)=lcm(lcm(a1,a2),a3,,an)
が成り立つとは言ったものの、そもそもa1a2が大きい数であれば、lcm(a1,a2)を求めることすら苦労します。

しかし、その場合は以前証明した次の事実を使います。

定理3.

a,bZに対して、l=lcm(a,b)m=gcd(a,b)とすれば、ab=lmである。ただし、a>0, b>0, l>0, m>0とする。

定理3.の証明は【代数学の基礎シリーズ】初等整数論編 その3を御覧ください。

定理3.から、2つの整数の最小公倍数は最大公約数から求めることができます。
そして、その2つの整数の最大公約数はユークリッドの互除法から求めることができるのです。

実際に解いてみる。

最初に提示して問題を解いてみます。

問題
123,223,29の最小公倍数は?

定理1.からlcm(123,223,29)=lcm(lcm(123,223),29)です。
そこで、lcm(123,223)を求めます。
そのために、定理3.を使います。

定理3.を使うため、まずはgcd(123,223)をユークリッドの互除法で求めます。
223=1×123+100123==1×100+23100=4×23+823=2×8+78=1×7+17=7×1+0
故に、gcd(123,223)=1となります。

今、123×223=27429ですので、定理3.から
27429=1×lcm(123,223)
が成り立つため、lcm(123,223)=27429です。

したがって、lcm(27429,29)を求めれば良いことになります。
これも定理3.を使うため、gcd(27429,29)をユークリッドの互除法で計算します。
27429=945×29+2429=1×24+55=1×4+14=4×1+0
故に、gcd(27429,29)=1です。

今、27429×29=795441ですので、定理3.から
795441=1×lcm(27429,29)
が成り立つため、lcm(123,223)=795441です。

もし、lcm(123,223,29)を愚直に計算しようとすると、795441が出てくるまで倍数の計算をしなければなりません。
そして、795441が出現するまで計算したとしても、それが最小公倍数であるかはわからないため、更にその先の倍数を求める必要もあります。
そうすると骨が折れるどころの騒ぎではありません。

しかし、今回証明したa,b,cZに対してlcm(a,b,c)=lcm(lcm(a,b),c)とユークリッドの互除法を駆使することで確実に計算が容易になります。

皆様のコメントを下さい!

本シリーズの最初に述べましたが、初等整数論は愚直に計算すれば解けるけれども、解法をすこし工夫することで劇的に簡単に解ける問題が多い、ということが面白い点だと思います。

筆者の場合極稀に「今日、冴えてるわ」という日があります。
あくまで極稀にですがね。
皆様は「今日、冴えてるわ」と思う日はどんな問題を解いた日ですか?
ぜひコメントで教えて下さい!

今回は大きい数の最小公倍数を求める手法を解説しました。
本質的には3以上の整数の最小公倍数は、2つの最小公倍数と残り1つの整数との最小公倍数と等しいということでした。
しかし、大きい数の最小公倍数は2つの整数だとしても骨が折れます。
そこで、最小公倍数と最大公約数の関係を使い、ユークリッドの互除法でもって計算するのです。
ユークリッドの互除法は誠に有用です。

次回は一次不定方程式を導入します。

乞うご期待!
質問、コメントなどお待ちしております!
どんな些細なことでも構いませんし、「定理〇〇の△△が分からない!」などいただければお答えします!
お問い合わせの内容にもよりますが、ご質問はおおよそ1週間でお答えします。
(難しかったらもう少しかかるかもしれませんが…)

初等整数論について、以下の書籍をオススメします!

コメントをする

タイトルとURLをコピーしました