エが正解となります。この問題は、ユークリッドの互除法を繰り返し処理で実装した場合の計算回数を問うものです。ユークリッドの互除法は、2つの自然数の最大公約数(GCD)を求めるアルゴリズムであり、引き算を繰り返すことで、一方の数が0になるまで、あるいは2つの数が等しくなるまで計算を進めます。問題文ではA=876, B=204の場合の処理終了までの比較回数を求めています。
読み込み中...
読み込み中...
次の流れ図は、2数A,Bの最大公約数を求めるユークリッドの互除法を、引き算の繰返しによって計算するものである。Aが876, Bが204のとき、何回の比較で処理は終了するか。
結論 → 詳細 → 補足 の 3 層構成
エが正解となります。この問題は、ユークリッドの互除法を繰り返し処理で実装した場合の計算回数を問うものです。ユークリッドの互除法は、2つの自然数の最大公約数(GCD)を求めるアルゴリズムであり、引き算を繰り返すことで、一方の数が0になるまで、あるいは2つの数が等しくなるまで計算を進めます。問題文ではA=876, B=204の場合の処理終了までの比較回数を求めています。
まず、ユークリッドの互除法(引き算による)の仕組みを追ってみましょう。
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回は、引き算の回数としては正しいですが、「比較」の最終段階を考慮すると不足しています。
解説は Google Gemini に IPA 公式の問題文・公式解答を入力して生成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ず IPA 公式資料でご確認ください。
最終更新:
検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
この問題の理解を「分野全体の力」に広げるための足がかり
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
アルゴリズムとプログラミング の他の問題
基本情報技術者 と共通カリキュラムの他区分で「アルゴリズムとプログラミング」分野を演習する
基本情報技術者 の同じ分野を年度をまたいで演習する
基本情報 科目B 木構造(二分木)のトレース練習|深さ優先と幅優先で全ノードをたどる
科目Bの頻出データ構造「木構造(二分木)」を、クラス・左右2本の参照・未定義の記法でトレース。深さ優先(行きがけ・通りがけ・帰りがけ)と幅優先(レベル順)の4つの巡回順を、小さな木で1ノードずつ手で追って攻略します。連結リスト・再帰・キューの集大成です。
基本情報 科目B 連結リスト(単方向リスト)のトレース練習|参照を1本ずつ付け替える
科目Bの頻出データ構造「連結リスト(単方向リスト)」を、クラス・メンバ変数(.)・参照・未定義の記法でトレース。先頭への追加・末尾までの走査・途中への挿入を、参照の付け替えを1本ずつ図と表で追って攻略します。配列との違い、付け替えの順序という最大の落とし穴を実演します。
基本情報 科目B スタックとキューのトレース練習|LIFOとFIFOを操作表で1つずつ追う
科目Bの頻出データ構造「スタック(後入れ先出し・LIFO)」と「キュー(先入れ先出し・FIFO)」を、プッシュ/ポップ・エンキュー/デキューの操作を表に書いて1つずつ追うトレースで攻略。同じ入力でも取り出す順番が逆になる理由、頂点・先頭・末尾ポインタの動き、つまずきを具体例で実演します。
基本情報技術者試験を取る意味はあるか|FEのメリットと「意味ない」と言われる理由を整理
基本情報技術者試験(FE)は「意味ない」と言われることがある資格です。取得メリットと「役に立たない」と言われる理由を、就職・実務・上位試験への接続の3観点で整理し、誰に向くのかを正直に解説します。