令和2年度 秋期 応用情報技術者試験 午前 問47
次の流れ図において、
①→②→③→⑤→②→③→④→②→⑥
の順に実行させるために、①において m と n に与えるべき初期値 a と b の関係はどれか。ここで、a,b はともに正の整数とする。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:エ
この問題はユークリッドの互除法をベースにしたフローチャートの解析問題です。
指定された流れの順序を満たす初期値の関係を求めるためには、以下の点に注目します。
- ⑤の処理で n ← n - m が実行されること
- ④の処理で m ← m - n が実行されること
- 最終的に m = n となること
手順の解析
処理の流れを順に確認します。
-
最初の状態
- m ← a, n ← b
- この時点で a < b である必要があります (⑤が先に実行されるため)。 -
⑤ (n ← n - m) 実行
- n は b - a になります。
- この時点で m = a, n = b - a です。 -
④ (m ← m - n) 実行
- m は a - (b - a) すなわち 2a - b になります。
- この時点で m = 2a - b, n = b - a です。 -
最終状態 (m = n) に到達するための条件
- m = n の状態にするには、次の式が成立する必要があります。
2a - b = b - a
- 整理すると、
3a = 2b
- よって、3a = 2b が正解です。
答え
エ: 3a = 2b
出典:令和2年度 秋期 応用情報技術者試験 午前 問47