問79の正解: イテクノロジ系/アルゴリズムとプログラミング
流れ図で示す処理を終了したとき、xの値はどれか。

この設問が問うていること
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が正解です。
AIAIにその場で質問(デモ応答)
こんな聞き方もできます(タップで質問)