なかけんの数学ノート

【導入】ユークリッドの互除法

「最大公約数を求めなさい」と言われれば、どうやって計算するでしょうか。一番基本的なやり方は、2で割れるか、3で割れるか、と小さい数字から順番に割っていき、割れる数字のうち共通するものを探していく、という方法だと思います。

例えば、21と35であれば、小さい数字から順に割っていき、「21は3で割れる、でも35は3で割れない。21は7で割れる、35も7で割れる。これ以上大きい数では割れないから、最大公約数は7だな」という流れで出していくと思うんですよね。

introduction-euclidean-algorithm-01

しかし、数が大きくなるとこの方法では大変です。例えば「1649と221の最大公約数」を考えてみると、大変さがわかると思います。

introduction-euclidean-algorithm-02

このように小さい数字から順番に割っていく方法よりも、もっと早く最大公約数を求める方法があります。それが「ユークリッドの互除法」という計算方法です。

「ユークリッドの互除法」の元になる考え方などは、別ページの【基本】ユークリッドの互除法の使い方で説明するとして、このページでは計算方法だけを紹介し、計算量がどれくらい少ないかを見るにとどめておきます。

「1649と221の最大公約数」を考えます。「ユークリッドの互除法」では、次のように計算していきます。まず、1649を221で割ってその余りを求めます。計算すると、余りは102になります。次に、今度は221を102で割り、余りを求めます。このように、余りが0になるまで計算していきます。

introduction-euclidean-algorithm-03

221を102で割った余りは17です。続いて、102を17で割った余りを求めると、これはちょうど割り切れて余りが0になります。このときの最後の数字「17」、これが実は最大公約数になるんですね。

小さい数字から順番に割っていくやり方に比べると、ずいぶん簡単に求められることがわかると思います。順番に割っていく方法だと、「17」にたどり着くまでにかなり計算しないといけません。もっと数字が大きくなるとさらに大変になります。

除法というのは、割り算のことです。互除法というのは、上のように、「お互い割っていく」という方法なんですね。

【基本】ユークリッドの互除法の使い方以降のページでは、ユークリッドの互除法の考え方や具体的な計算方法について、解説していきます。

[広告]
対象者: 数学A
分野: 整数の性質
トピック: 整数
レベル: 導入
キーワード: ユークリッドの互除法
更新日:2016/05/08