過去問解きまくり研究所 ホーム

平成30年度 秋期 午前Ⅱ 問11

アルゴリズムとプログラミング

流れ図に関する問題

次の流れ図において,

①→②→③→⑤→②→③→④→②→⑥

の順に実行させるために,①においてmとnに与えるべき初期値aとbの関係はどれか。ここで,a,bはともに正の整数とする。

流れ図:

(開始)
   ↓
① [a → m
     b → n]
   ↓  ←――――――――――――――――――――――――― ④・⑤の後はここ(②の直前)へ戻る
② 〈m : n〉
   ├ ≠ → ③ 〈m : n〉
   │        ├ > → ④ [m − n → m] → ②の直前へ戻る
   │        └ < → ⑤ [n − m → n] → ②の直前へ戻る
   └ = ↓
⑥ /mの値を印字/
   ↓
(終了)
答えと解説を見る

✓ これが正解エ3a=2b

解説

追跡すると a<b、n=b−a、m=2a−b となり 3a=2b が条件です。

実行順に沿って m と n の値を追います。最初は m=a、n=b です。②で等しくなく、③で m<n なので⑤に進むことから、まず a<b が必要で、⑤で n は b−a になります。次の②でも等しくなく、③で m>n なので④に進むことから a>b−a、そして④で m は a−(b−a)=2a−b になります。最後の②で m=n となって⑥に進むので、2a−b=b−a、つまり 3a=2b が成り立ちます。例えば a=2、b=3 で追うと、n=1、m=1 と変わり、指定の順に進みます。この流れ図は、大きい方から小さい方を引く操作を繰り返して最大公約数を求める形です。見分けるときは、具体的な数を一組入れて実際に流れ図を追うと確かめられます。

ほかの選択肢はなぜ違うのか

出典:平成30年度 秋期 システムアーキテクト試験 午前Ⅱ 問11

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)