ユークリッドの互除法の流れ図
解説
ポイント
最大公約数を求めるユークリッドの互除法を,流れ図の分かれ道と出力に当てはめる問題です。
考え方と解き方
互除法は「AをBで割った余りRを求め,次は B と R で同じことをくり返す」方法で,余りが 0 になった時の割る数が最大公約数です。
小さな数で1回試すと確かめやすいです(A=48,B=18:48÷18 は余り12,18÷12 は余り6,12÷6 は余り0 なので最大公約数は 6)。
ア:A←B,B←R としてくり返しに戻る道です。くり返すのはまだ余りが 0 でない時なので,R≠0 です。
イ:出力して終わる道です。終わるのは余りが 0 になった時なので,R=0 です。
ウ:余りが 0 になった時,割る数 B が最大公約数です。上の例でも最後は 12÷6 で,最大公約数は B=6 でした。A(=12)でも R(=0)でもありません。答えは ア R≠0,イ R=0,ウ B
覚えておくこと
- ユークリッドの互除法:A÷B の余り R を求め,B と R で同じことをくり返す
- 余りが 0 になった時の「割る数」が最大公約数。余り(0)や割られる数ではない
- 流れ図の問題は,小さな数で1回たどって確かめる
出典:令和5年度 技術士第一次試験 基礎科目 I-2-2(公益社団法人日本技術士会) ジャンル:情報・アルゴリズム