「共通因数を見つけるのに時間がかかって困っている」「素因数分解を使った方法とユークリッドの互除法の使い分けがわからない」——数学を学ぶ多くの方がこうした悩みを抱えています。
素因数分解・ユークリッドの互除法・計算方法・コツ——これらすべてが共通因数を効率よく見つけるための重要な知識です。
本記事では、共通因数を見つけるための複数の方法を状況別に整理し、素因数分解・ユークリッドの互除法・視覚的な識別など、それぞれの手順と使い分けのコツまで詳しく解説していきます。
共通因数を素早く正確に見つけられるようになりたい方にとって、すぐに実践できる具体的な手法が得られる内容となっているでしょう。
共通因数を見つける3つのアプローチ——状況に応じた使い分け
それではまず、共通因数を見つけるための主要なアプローチを整理して解説していきます。
共通因数を見つける方法はいくつか存在しており、数の大きさや問題の種類によって最も効率的な方法が異なるため、使い分けの基準を明確にしておくことが重要です。
3つのアプローチの概要と使い分け基準
| アプローチ | どんな場面で使うか | 特徴 |
|---|---|---|
| 因数の列挙(直接法) | 数が小さく(50以下程度)因数を直接書き出せるとき | 直感的・確実だが大きな数には不向き |
| 素因数分解 | 中程度の大きさの数(〜数百程度)・公式的に確実に求めたいとき | 体系的で正確・少し手間がかかる |
| ユークリッドの互除法 | 大きな数(数百以上)・効率を重視するとき | 非常に効率的・素因数分解不要 |
小さな数では因数を列挙する直接法が最も速い場合がありますが、数が大きくなるにつれて素因数分解やユークリッドの互除法の優位性が増していきます。
因数列挙による直接法——小さな数での最速アプローチ
数が小さい場合は、各数の因数を直接書き出して共通するものを探す方法が最もシンプルです。
因数列挙による共通因数の求め方
【例】16と24の共通因数を求める
16の因数:1, 2, 4, 8, 16
24の因数:1, 2, 3, 4, 6, 8, 12, 24
共通因数:1, 2, 4, 8(両方の列に含まれるもの)
最大公約数(最大の共通因数):8
【因数を効率的に列挙するコツ】
・1から順に「nを割り切るか?」と確認していく
・√nまで確認すれば、それ以降は対応する因数のペアが決まる
・例:24の場合 √24≒4.9 なので5以降の整数での割り切れ確認は不要
5で割れない・6で割れる(24=6×4)・それ以降は4以下の因数との組み合わせ
因数を列挙する際は√nまで確認すれば十分という性質を使うことで、確認の手間を大幅に削減できるでしょう。
素因数分解を使った共通因数の見つけ方——手順と例題
続いては、素因数分解を使った共通因数の見つけ方を詳しく確認していきます。
素因数分解は中程度の数の共通因数を体系的に求める最も信頼できる方法です。
素因数分解の手順——割り算を繰り返す方法
素因数分解は「最小の素数から順番に割り続ける」という手順で行います。
素因数分解の手順(割り算で行う方法)
【例】120を素因数分解する
Step1:最小の素数2で割れるか確認 → 120 ÷ 2 = 60(割れる)
Step2:商を同様に2で割る → 60 ÷ 2 = 30(割れる)
Step3:続けて2で割る → 30 ÷ 2 = 15(割れる)
Step4:15は2で割れない → 次の素数3で試みる → 15 ÷ 3 = 5(割れる)
Step5:5は3で割れない → 次の素数5で試みる → 5 ÷ 5 = 1(割れる)→ 終了
結果:120 = 2³ × 3 × 5
【確認】2 × 2 × 2 × 3 × 5 = 8 × 15 = 120 ✓
素因数分解を使って最大公約数を求める手順
2つ以上の数の素因数分解が完了したら、共通する素因数と最小指数を取り出して最大公約数(最大の共通因数)を求めます。
素因数分解による最大公約数の計算例
【例】120と180の最大公約数を求める
120 = 2³ × 3 × 5
180 = 2² × 3² × 5
共通する素因数とその最小指数:
・2:120に2³・180に2² → 最小指数は2 → 2²
・3:120に3¹・180に3² → 最小指数は1 → 3¹
・5:120に5¹・180に5¹ → 最小指数は1 → 5¹
最大公約数 = 2² × 3 × 5 = 4 × 3 × 5 = 60
共通因数はすべて60の因数:1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60
素因数分解を使った方法では「共通する素因数のみを取り出し、それぞれの最小指数を使って積を計算する」というルールを確実に守ることが正確な最大公約数を求めるための核心です。
3つ以上の数の共通因数を素因数分解で求める
3つ以上の数の共通因数も同様の手順で求められます。
3数の共通因数の求め方
【例】60・84・120の最大公約数を求める
60 = 2² × 3 × 5
84 = 2² × 3 × 7
120 = 2³ × 3 × 5
共通する素因数とその最小指数:
・2:最小指数は2(2²・2²・2³) → 2²
・3:最小指数は1(3¹・3¹・3¹) → 3¹
・5:84に含まれない → 共通しない
・7:60と120に含まれない → 共通しない
最大公約数 = 2² × 3 = 12
ユークリッドの互除法——大きな数での最も効率的な方法
続いては、ユークリッドの互除法について確認していきます。
ユークリッドの互除法は、素因数分解を行わずに最大公約数を効率的に求めることができる古典的なアルゴリズムです。
ユークリッドの互除法の原理
ユークリッドの互除法の根拠となる原理は「a = bq + r のとき、GCD(a, b) = GCD(b, r)」という性質です。
つまり「2つの数の最大公約数は、大きい数を小さい数で割った余りと小さい数の最大公約数と等しい」ということです。
この性質を繰り返し適用して余りが0になったときの除数が最大公約数となります。
ユークリッドの互除法の手順と例題
ユークリッドの互除法の手順
【例①】GCD(546, 378)を求める
546 ÷ 378 = 1 余り168 → GCD(546, 378) = GCD(378, 168)
378 ÷ 168 = 2 余り42 → GCD(378, 168) = GCD(168, 42)
168 ÷ 42 = 4 余り0 → GCD(168, 42) = 42
よって GCD(546, 378) = 42
【例②】GCD(1071, 462)を求める
1071 ÷ 462 = 2 余り147 → GCD(1071, 462) = GCD(462, 147)
462 ÷ 147 = 3 余り21 → GCD(462, 147) = GCD(147, 21)
147 ÷ 21 = 7 余り0 → GCD(147, 21) = 21
よって GCD(1071, 462) = 21
ユークリッドの互除法の計算は、「割り算→余りが0になるまで繰り返す」というだけの非常にシンプルな手順であり、大きな数でも必ず有限回のステップで終了することが保証されている優れたアルゴリズムです。
ユークリッドの互除法と素因数分解の比較
| 比較項目 | 素因数分解 | ユークリッドの互除法 |
|---|---|---|
| 計算の手間 | 大きな数では素因数分解自体が大変 | 割り算だけで進むので大きな数でも効率的 |
| 理解のしやすさ | 直感的に理解しやすい | 原理の理解にやや工夫が必要 |
| 結果の確認 | 素因数分解の積として確認しやすい | 割り算の余りの確認で検証 |
| コンピュータへの応用 | 大きな数では計算コストが高い | 非常に効率的(プログラムでも標準的) |
| すすめる場面 | 〜数百程度の数・教科書的な問題 | 大きな数・効率を重視する場面 |
多項式の共通因数を効率的に見つけるコツ
続いては、多項式(代数式)の共通因数を効率よく見つけるためのコツについて確認していきます。
整数の共通因数と多項式の共通因数では、同じ原理を使いながらも着目するポイントが少し異なります。
多項式の共通因数を見つける視点のコツ
多項式の共通因数を見つける際に意識すると効率が上がる視点があります。
第一に「係数だけに注目する」という視点です。変数を無視して係数だけを見て最大公約数を求め、それを共通因数の係数部分とします。
第二に「変数ごとに最低次数を確認する」という視点です。変数が複数ある場合でも、一変数ずつ独立に最低次数を確認します。
第三に「全体的に見てどの因数が全項に含まれているか」という視点です。係数と変数の両方を合わせた最大共通因数を一発で見抜く練習をします。
複雑な多項式での共通因数探しのコツ
複雑な多項式での共通因数の例
【例】18x³y² − 12x²y³ + 6x²y² の共通因数を求める
係数:18・12・6 → 最大公約数は6
変数x:x³・x²・x² → 最低次数はx²
変数y:y²・y³・y² → 最低次数はy²
共通因数(最大):6x²y²
くくり出し:6x²y²(3x − 2y + 1)
【確認・展開】
6x²y²×3x = 18x³y² ✓
6x²y²×(−2y) = −12x²y³ ✓
6x²y²×1 = 6x²y² ✓
多項式の共通因数を求める際は「係数→x→y→z…」という順で独立に最大公約数・最低次数を確認してから組み合わせるという手順を機械的に実行できるようにすることが速度と精度の向上に直結するでしょう。
式全体が共通因数になるパターンの識別法
高校数学でよく出題される「括弧の中の式全体が共通因数」というパターンを素早く見つけるコツがあります。
各項を分解して書き出す際に「同じ因数のかたまりが各項に含まれていないか」を意識して見ます。
たとえば a(x+2) + b(x+2) + c(x+2) という式では、各項に (x+2) という同じかたまりが含まれており、これを共通因数としてくくり出すと (x+2)(a+b+c) となります。
最初はわかりにくいですが、各項を「(共通部分)×(残り)」の形に意識して分解していくことで識別力が養われます。
共通因数の見つけ方の練習——計算力を高める演習
続いては、共通因数の見つけ方の計算力を高めるための練習問題と解き方のコツについて確認していきます。
整数の共通因数・最大公約数の練習問題
整数の共通因数・最大公約数の練習問題
問題①:48と72の最大公約数を求めよ(素因数分解で)
解答:48 = 2⁴×3、72 = 2³×3² → GCD = 2³×3 = 24
問題②:GCD(280, 168)をユークリッドの互除法で求めよ
解答:280÷168=1余112、168÷112=1余56、112÷56=2余0 → GCD = 56
問題③:36・54・90の最大公約数を求めよ
解答:36=2²×3²、54=2×3³、90=2×3²×5
共通:2¹×3²=18 → GCD = 18
多項式の共通因数の練習問題
多項式の共通因数の練習問題
問題④:20a³b² − 15a²b³ + 10ab の共通因数(最大)を求めよ
解答:係数20・15・10のGCD=5、aの最低次数=a¹、bの最低次数=b¹
共通因数 = 5ab
くくり出し:5ab(4a²b − 3ab² + 2)
問題⑤:(2x−1)y + 3(2x−1) の共通因数でくくれ
解答:(2x−1)が共通因数 → (2x−1)(y+3)
問題⑥:ax − ay + bx − by を因数分解せよ(グループ化)
解答:(ax−ay) + (bx−by) = a(x−y) + b(x−y) = (x−y)(a+b)
これらの問題を繰り返し解くことで、共通因数を素早く識別する感覚が自然に身についていきます。
特に問題⑤と⑥のような「式全体が共通因数・グループ化」のパターンは、ひとつの計算パターンとして体に馴染ませることが大切です。
共通因数を速く見つけるための実践的コツ
共通因数を素早く正確に見つけるための実践的なコツをまとめます。
共通因数を効率よく見つけるためのコツまとめ
① 数が小さい(50以下程度):因数を直接列挙して比較する
② 数が中程度(〜数百程度):素因数分解で素因数の共通最小指数を計算する
③ 数が大きい:ユークリッドの互除法(割り算→余りが0になるまで繰り返す)
④ 多項式の場合:係数のGCD → 各変数の最低次数 → 組み合わせる
⑤ 「式全体が共通因数」パターン:各項を「共通部分×残り」として意識する
⑥ くくり出し後:展開して元の式に戻るかを必ず確認する
⑦ 練習:異なるパターンの問題を繰り返し解いて識別力を養う
まとめ
本記事では、共通因数を見つける3つのアプローチ(因数列挙・素因数分解・ユークリッドの互除法)の使い分けから、それぞれの具体的な手順と例題、多項式での共通因数の視点とコツ、式全体が共通因数になるパターンの識別法、そして実践的な練習問題まで体系的に解説してきました。
共通因数を効率よく見つけるためには数の大きさと問題の種類に応じた方法の選択が重要であり、小さな数では因数列挙、中程度の数では素因数分解、大きな数ではユークリッドの互除法、多項式では係数のGCDと変数の最低次数の組み合わせという使い分けを体得することが計算の速度と精度を大幅に向上させるでしょう。
いずれの方法も繰り返しの練習によって習熟が進みますので、本記事で紹介した練習問題に積極的に取り組んでみてください。
本記事を参考に、共通因数の見つけ方を確実に身につけ、数学の計算力向上に役立てていただければ幸いです。