エが正解となります。この問題は、ユークリッドの互除法を繰り返し処理で実装した場合の計算回数を問うものです。ユークリッドの互除法は、2つの自然数の最大公約数(GCD)を求めるアルゴリズムであり、引き算を繰り返すことで、一方の数が0になるまで、あるいは2つの数が等しくなるまで計算を進めます。問題文ではA=876, B=204の場合の処理終了までの比較回数を求めています。
令和1年度 春期 基本情報技術者 午前 問7
次の流れ図は、2数A,Bの最大公約数を求めるユークリッドの互除法を、引き算の繰返しによって計算するものである。Aが876, Bが204のとき、何回の比較で処理は終了するか。
選択肢
解説
結論 → 詳細 → 補足 の 3 層構成
展開閉じる
解説
結論 → 詳細 → 補足 の 3 層構成
まず、ユークリッドの互除法(引き算による)の仕組みを追ってみましょう。
1. AとBを比較し、大きい方から小さい方を引く。
2. 結果を新しいAまたはBとする。
3. AとBが等しくなるか、一方の数が0になるまで1と2を繰り返す。
この手順をA=876, B=204で実行すると、
1回目: 876 - 204 = 672 (A=672, B=204)
2回目: 672 - 204 = 468 (A=468, B=204)
3回目: 468 - 204 = 264 (A=264, B=204)
4回目: 264 - 204 = 60 (A=60, B=204)
5回目: 204 - 60 = 144 (A=60, B=144)
6回目: 144 - 60 = 84 (A=60, B=84)
7回目: 84 - 60 = 24 (A=60, B=24)
8回目: 60 - 24 = 36 (A=36, B=24)
9回目: 36 - 24 = 12 (A=12, B=24)
10回目: 24 - 12 = 12 (A=12, B=12)
ここでAとBが等しくなったため、処理は終了します。この間に実行された比較(あるいは引き算)の回数は10回です。しかし、問題文は「何回の比較で処理は終了するか」と問うています。ユークリッドの互除法では、一般的に「AとBが等しくなったとき」または「一方の数が0になったとき」に終了します。上記の例では、10回の引き算でA=12, B=12となり、ここで比較して等しいと判断し終了します。もし、もう1回比較(A=12, B=12)を行うとすると、11回目の比較で終了することになります。問題文の「比較」を、AとBの値が等しいかどうかを判断する行為と解釈すると、10回の引き算の結果、A=12, B=12となり、この時点で「AとBは等しい」という比較を行い、終了するため、合計11回の比較が必要と解釈できます。
アの4回は、初期の段階での引き算回数に過ぎず、誤りです。
イの9回も、誤った回数計算によるものです。
ウの10回は、引き算の回数としては正しいですが、「比較」の最終段階を考慮すると不足しています。
この解説は AI 生成です(詳細)
解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。
AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。
解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
分野「アルゴリズムとプログラミング」の学習ポイント
この問題の理解を「分野全体の力」に広げるための足がかり
- 何が問われるか
- 計算量(O 記法)・基本データ構造・典型アルゴリズム(探索・整列)・再帰の挙動を読む力。
- 学習の進め方
- 擬似コードを実際にトレースして変数の遷移を表に書き出す習慣を付ける。スタック/キュー/木の図示が定着の鍵。
- 関連キーワード
- 計算量二分探索クイックソート再帰スタックキュー木構造
この問題を AI と深掘りする
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
共有
ショート動画
関連する問題
アルゴリズムとプログラミング の他の問題
- 基本情報技術者2009年度 秋期 午前 問3逆ポーランド表記法(後置表記法)で、“EF-G-CD-AB+÷+”と表現される式はどれか。
- 基本情報技術者2009年度 秋期 午前 問5空のスタックに対して次の操作を行った場合、スタックに残っているデータはどれか。ここで、“push x”はスタックへデータを格納し、“pop”はスタックからデータを取り出す操作を表す。 push 1 → push 2 → pop → push 3 → push 4 → pop → …
- 基本情報技術者2009年度 秋期 午前 問6クイックソートの処理方法を説明したものはどれか。
- 基本情報技術者2009年度 春期 午前 問20000~4999 のアドレスをもつハッシュ表があり、レコードのキー値からアドレスに変換するアルゴリズムとして基数変換法を用いる。キー値が55550 のときのアドレスはどれか。ここで、基数変換法とは、キー値を 11 進数とみなし、10進数に変換した後、下4けたに対して 0.5 を…
- 基本情報技術者2009年度 春期 午前 問4文字列中で同じ文字が繰り返される場合、繰返し部分をその反復回数と文字の組に置き換えて文字列を短くする方法はどれか。