本記事の内容
本記事は「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の最小公倍数mとcとの最小公倍数と等しいのです。
これは一般の個数でも成り立ちます。
定理1.
3つ以上の整数の最小公倍数は、それらの整数の一部分をその最小公倍数で置き換えて良い。すなわち、a1,a2,a3,⋯,an∈Zに対して、 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′です。
さて、lはa1とa2の最小公倍数ですから、lはa1とa2の公倍数です。
ここで、次の事実を使います。
定理2.
2つ以上の整数の公倍数は最小公倍数の倍数である。定理2.の証明は【代数学の基礎シリーズ】初等整数論編 その3を御覧ください。
lはa1とa2の公倍数である為、定理2.から、lはm=lcm(a1,a2)の倍数です。
lはもともとl=lcm(a1,a2,a3,⋯,an)だったわけですので、lはa3,⋯,anの公倍数でもあります。
故に、lはm,a3,⋯,anの公倍数ということになります。
l′はm,a3,⋯,anの最小公倍数ですので、lはl′の倍数です。
また、l′に注目してみると、l′=lcm(m,a3,⋯,an)だったわけですので、l′はmの倍数、すなわちa1とa2の倍数です。
故に、l′はa1,a2,a3,⋯,anの公倍数です。
さて、l=lcm(a1,a2,a3,⋯,an)、すなわちa1,a2,a3,⋯,anの最小公倍数ですので、l′はlの倍数です。
以上のことから、lはl′の倍数であり、同時にl′はlの倍数でもあるため、l=l′です。
実際、k,k′∈Nを用いてl=kl′、l′=k′lと書いたとします。
このとき、l=kk′lです。
lは最小公倍数ですのでl≠0ですから、kk′=1となります。
k,k′∈Nですから、k=k′=1となって、l=l′です。
定理1.の証明終わり
lcm(a1,a2)に対して、a1とa2が大きい数だったら元も子もないのでは?
定理1.からa1,a2,a3,⋯,an∈Zに対して、
lcm(a1,a2,a3,⋯,an)=lcm(lcm(a1,a2),a3,⋯,an)
が成り立つとは言ったものの、そもそもa1とa2が大きい数であれば、lcm(a1,a2)を求めることすら苦労します。
しかし、その場合は以前証明した次の事実を使います。
定理3.
a,b∈Zに対して、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,c∈Zに対してlcm(a,b,c)=lcm(lcm(a,b),c)とユークリッドの互除法を駆使することで確実に計算が容易になります。
皆様のコメントを下さい!
本シリーズの最初に述べましたが、初等整数論は愚直に計算すれば解けるけれども、解法をすこし工夫することで劇的に簡単に解ける問題が多い、ということが面白い点だと思います。
筆者の場合極稀に「今日、冴えてるわ」という日があります。
あくまで極稀にですがね。
皆様は「今日、冴えてるわ」と思う日はどんな問題を解いた日ですか?
ぜひコメントで教えて下さい!
結
今回は大きい数の最小公倍数を求める手法を解説しました。
本質的には3以上の整数の最小公倍数は、2つの最小公倍数と残り1つの整数との最小公倍数と等しいということでした。
しかし、大きい数の最小公倍数は2つの整数だとしても骨が折れます。
そこで、最小公倍数と最大公約数の関係を使い、ユークリッドの互除法でもって計算するのです。
ユークリッドの互除法は誠に有用です。
次回は一次不定方程式を導入します。
乞うご期待!
質問、コメントなどお待ちしております!
どんな些細なことでも構いませんし、「定理〇〇の△△が分からない!」などいただければお答えします!
お問い合わせの内容にもよりますが、ご質問はおおよそ1週間でお答えします。
(難しかったらもう少しかかるかもしれませんが…)
初等整数論について、以下の書籍をオススメします!
コメントをする