1 / 10 ブロック10%

上下にスクロールするかキーボードの上下キーを使うと、次の学習カードへ進めます。

イントロ

余りを次へ渡すアルゴリズム

列挙せずに最大公約数を求める

大きな二数の約数をすべて並べるのは大変です。ユークリッドの互除法では、割り算で生まれた余りを次の割る数にし、同じ操作を繰り返して最大公約数へ到達します。誰が行っても同じ手順になるアルゴリズムの例で、長さを共通の単位で測り切る活動にもつながります。

定義

ユークリッドの互除法

教科書では
大きい数を小さい数で割り、次に小さい数をその余りで割る操作を、余りが0になるまで繰り返す方法です。
言いかえると
最大公約数は、二数を割った余りにも受け継がれます。aとbの両方を割る数はa−bqも割るため、余りrも割れます。逆向きにもa=bq+rから同じことがいえます。そのため二数を「小さい数と余り」へ置き換えても最大公約数は変わらず、余りが小さくなるので手順は必ず終わります。
公式

除法の等式

大きい数を、割る数の整数倍と余りに分けます。

割り算の形

aをbで割った商をq、0以上b未満の余りをrと表します。この範囲の余りは一つに決まります。

  • 割られる数
  • 割る数
  • 余り
使うときのコツ

次の行ではbを割られる数、rを割る数にします。商qは次の二数へ引き継ぎません。

解くコツ

各行で式が成り立つか掛け算と足し算で確かめ、余りを丸で囲んで次の行の右側へ移すと順番を崩しません。

手順

互除法の4手順

  1. 1

    大きい数を小さい数で割り、商と余りを書く

  2. 2

    前の割る数を、今得た余りで割る

  3. 3

    余りが0になるまで同じ更新を繰り返す

  4. 4

    直前の0でない余りを答え、元の二数で検算する

図解252と105の割り算で余り42と21を次の割る数へ渡す流れ
各行の余り42、21が、次の行では割る数になります。青い矢印を追うと更新する二数が分かり、最後の0ではなく直前の21を選ぶ理由も確認できます。
場面
252と105の最大公約数を、互除法で求める。
順に考えると
まず252=105×2+42。次は105=42×2+21、さらに42=21×2+0です。余りが0になったので終了します。0になる直前の余り21が最大公約数です。実際に252÷21=12、105÷21=5で両方を割り切れます。42も共通約数候補に見えますが、105を割り切らないため答えではありません。
ここが結論
最大公約数は21です。各行の等式と、最後に元の二数を割り切ることの二段階で検算できます。約数の全列挙をしなくても、同じ短い手順で大きな整数まで扱えます。
注意

商や0を答えにしない

確認

確認テスト

Q1

252=105×2+42の次に行う割り算はどれですか。

まとめ

まとめ

  1. 1

    余りを次の割る数へ受け渡す

  2. 2

    二数は小さくなるが最大公約数は変わらない

  3. 3

    余りが必ず小さくなるので手順は有限で終わる

  4. 4

    余り0で終了し直前の0でない余りを答える

  5. 5

    商ではなく余りを次の二数へ使う

  6. 6

    各行の等式と元の二数で検算する

What's New

新しいカテゴリが追加されました

  1. 日商簿記3級
  2. FP3級
  3. AWS Certified Solutions Architect - Associate
更新履歴をすべて見る