IPA過去問ドリル

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

テクノロジ/アルゴリズム

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

平成22年度 秋期 システムアーキテクト試験 午前Ⅱ 問11の図

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

正解:エ

解説

この流れ図はユークリッドの互除法でmとnの最大公約数を求める処理を表す。①→②→③→⑤(n>mよりn-m→n)→②→③→④(m>nよりm-n→m)→②→⑥という実行順になるためには,最初はm≠nかつm<n(③でn-m→nが実行される),その後の比較ではm>n(④でm-n→mが実行される),そして最終的にm=nとなって⑥に至る必要がある。初期値a,bにこの条件を満たす具体的な正の整数(例:a=2,b=3)を当てはめて検証すると,3a=2bの関係を満たす値で問題文のとおりの実行順になることが確認できる。

選択肢ごとの解説

  • 誤り。a=2bの関係では,問題文で示された実行順(②③⑤→②③④→②⑥)にならない。
  • 誤り。2a=bの関係では,問題文で示された実行順にならない。
  • 誤り。2a=3bの関係では,問題文で示された実行順にならない。
  • 正しい。3a=2bの関係を満たす初期値(例:a=2,b=3)を用いると,問題文で示された①→②→③→⑤→②→③→④→②→⑥の順で実行される。
システムアーキテクトの過去問を演習モードで解く