応用情報技術者 2017年 春期 午前2 問06
問題文
次の流れ図の処理で、終了時のに格納されているものはどれか。ここで、与えられた 、は正の整数であり、 はをで割った余りを返す。

選択肢
ア:aとbの最小公倍数
イ:aとbの最大公約数(正解)
ウ:aとbの小さい方に最も近い素数
エ:aをbで割った商
流れ図の処理で終了時のに格納されているものは何か【午前2 解説】
要点まとめ
- 結論:終了時のにはとの最大公約数(GCD)が格納されている。
- 根拠:流れ図はユークリッドの互除法を実装しており、とに余りを繰り返し代入しているため。
- 差がつくポイント:の意味とループ条件「」の役割を正確に理解し、最大公約数の求め方を把握すること。
正解の理由
この流れ図はユークリッドの互除法を表しています。初期値として、を設定し、になるまで以下を繰り返します。
- (をで割った余りをに代入)
この処理は、との最大公約数を求める標準的なアルゴリズムです。ループ終了時にとなり、その時のがとの最大公約数となります。したがって、正解はイの「最大公約数」です。
よくある誤解
- の余りを単なる割り算の結果と誤解し、最大公約数の意味を取り違えることがあります。
- ループの終了条件「」を見落とし、処理が何を求めているか理解できない場合があります。
解法ステップ
- 流れ図の初期設定で、とすることを確認する。
- ループの条件「」を理解し、が0になるまで処理を繰り返すことを把握する。
- ループ内でを計算し、にを、にを代入する処理を追う。
- この処理がユークリッドの互除法であることを認識する。
- ループ終了時のが最大公約数であることを結論づける。
選択肢別の誤答解説
- ア: 最小公倍数は最大公約数とは異なり、互除法の処理では求められません。
- イ: 最大公約数はユークリッドの互除法の結果であり正解です。
- ウ: 小さい方に最も近い素数はこの処理とは無関係で、素数判定もしていません。
- エ: 商は割り算の結果であり、余りを使うこの処理とは異なります。
補足コラム
ユークリッドの互除法は紀元前から知られる最大公約数を求める効率的なアルゴリズムです。
最大公約数と最小公倍数は、の関係にあります。
このアルゴリズムは整数論や暗号理論など幅広い分野で基礎となっています。
最大公約数と最小公倍数は、の関係にあります。
このアルゴリズムは整数論や暗号理論など幅広い分野で基礎となっています。
FAQ
Q: なぜ余りを使うのですか?
A: 余りを使うことで、より小さい数同士の最大公約数を繰り返し求められ、計算が効率化されます。
A: 余りを使うことで、より小さい数同士の最大公約数を繰り返し求められ、計算が効率化されます。
Q: ループの終了条件がなのはなぜですか?
A: になると、が最大公約数となるため、これ以上計算を続ける必要がありません。
A: になると、が最大公約数となるため、これ以上計算を続ける必要がありません。
関連キーワード: ユークリッドの互除法、最大公約数、mod演算、アルゴリズム、ループ処理

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

