メインコンテンツへスキップ
基本情報技術者令和1年度 春期午前7

令和1年度 春期 基本情報技術者 午前7

難度標準

次の流れ図は、2数A,Bの最大公約数を求めるユークリッドの互除法を、引き算の繰返しによって計算するものである。Aが876, Bが204のとき、何回の比較で処理は終了するか。

選択肢

4
9
10
11

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

エが正解となります。この問題は、ユークリッドの互除法を繰り返し処理で実装した場合の計算回数を問うものです。ユークリッドの互除法は、2つの自然数の最大公約数(GCD)を求めるアルゴリズムであり、引き算を繰り返すことで、一方の数が0になるまで、あるいは2つの数が等しくなるまで計算を進めます。問題文ではA=876, B=204の場合の処理終了までの比較回数を求めています。

詳細Layer 2

まず、ユークリッドの互除法(引き算による)の仕組みを追ってみましょう。

1. AとBを比較し、大きい方から小さい方を引く。

2. 結果を新しいAまたはBとする。

3. AとBが等しくなるか、一方の数が0になるまで1と2を繰り返す。

補足Layer 3

この手順を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 または最新の参考書でご確認ください。

解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

分野「アルゴリズムとプログラミング」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
計算量(O 記法)・基本データ構造・典型アルゴリズム(探索・整列)・再帰の挙動を読む力。
学習の進め方
擬似コードを実際にトレースして変数の遷移を表に書き出す習慣を付ける。スタック/キュー/木の図示が定着の鍵。
関連キーワード
計算量二分探索クイックソート再帰スタックキュー木構造
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

アルゴリズムとプログラミング の他の問題