問題
テクノロジ系
問79 流れ図で示す処理を終了したとき,xの値はどれか。
選択肢
- ア0
- イ14
- ウ28
- エ56
解説
正解:イ
概要
流れ図で示された繰返し処理を最後まで実行したときの変数xの値を求める問題で、引き算による最大公約数を求めるアルゴリズムの理解が問われます。
正解の理由
処理はxとyが等しくなるまで、大きい方から小さい方を引き続けます。これはユークリッドの互除法(減算法)であり、最終的にx=y=98と42の最大公約数である14になります。
各選択肢の解説
ア(×): 0になるにはどちらかが0まで減る必要がありますが、この処理は等しくなった時点で終了するため0にはならず誤りです。
イ(〇): 98と42で大きい方から小さい方を引く操作を繰り返すと最大公約数に収束し、終了時はx=y=14となるため正しいです。
ウ(×): 28は98と42の公約数ではありますが最大公約数ではありません。この処理は最大公約数の14で終了するため誤りです。
エ(×): 56は98と42の公約数ではなく、途中計算でも最終値にもなりません。終了時は14なので誤りです。
ポイント
「大きい方−小さい方」を繰り返して等しくなった値は最大公約数になります。