79の正解: テクノロジ系アルゴリズムとプログラミング

流れ図で示す処理を終了したとき、xの値はどれか。

問79の図

この設問が問うていること

2つの整数の最大公約数を求めるユークリッドの互除法アルゴリズムのトレースについて問う設問です。

0
選択肢の解説: 0は、割り切れたときの余りや計算エラーによる誤った値です。
14正解
選択肢の解説: 初期値 x=98, y=42 から引き算を繰り返していくと、最終的に x=y=14 となってループを抜け終了するため、適切です。
28
選択肢の解説: 28は、ループの終了判定や引き算の回数を誤って途中で止めてしまった場合の誤った値です。
56
選択肢の解説: 56は、1回目のループ直後(x=56)でトレースを終了してしまった場合の誤った値です。

総合解説

この流れ図は、2つの整数の最大公約数(GCD)を求める「ユークリッドの互除法」を表しています。 与えられた初期値 $x=98$, $y=42$ に従ってトレースを行います。 ・ループ開始($x \neq y$ の間繰り返す)1回目: $98 \neq 42$ なので継続。$x > y$($98 > 42$)なので、「はい」に進み、$x \leftarrow 98 - 42 = 56$ となる($x=56$, $y=42$)。 ・2回目: $56 \neq 42$ なので継続。$x > y$($56 > 42$)なので、「はい」に進み、$x \leftarrow 56 - 42 = 14$ となる($x=14$, $y=42$)。 ・3回目: $14 \neq 42$ なので継続。$x > y$($14 > 42$)ではないため「いいえ」に進み、$y \leftarrow 42 - 14 = 28$ となる($x=14$, $y=28$)。 ・4回目: $14 \neq 28$ なので継続。$x > y$($14 > 28$)ではないため「いいえ」に進み、$y \leftarrow 28 - 14 = 14$ となる($x=14$, $y=14$)。 ・5回目: $x=y$($14=14$)となったため、条件 $x \neq y$ が偽となりループを終了します。 終了時の $x$ の値は 14 です。したがって、選択肢bが正解です。

執筆・監修: 運営者 KH更新日: 2026-07-05出典: IPA公式PDF(過去問題・解答例)
AIAIにその場で質問(デモ応答)

こんな聞き方もできます(タップで質問)

令和4年度を本番同様のCBT形式で解いてみよう

無料登録なしでも一部体験可能。登録すれば採点・弱点分析・AI教科書まで使えます。

令和4年度の過去問CBTを解く