平成22年度 秋期 システムアーキテクト試験 午前Ⅱ 問11
テクノロジ/アルゴリズム次の流れ図において, ①→②→③→⑤→②→③→④→②→⑥ の順に実行させるために,①においてmとnに与えるべき初期値aとbの関係はどれか。ここで,a,bはともに正の整数とする。

出典:平成22年度 秋期 システムアーキテクト試験 午前Ⅱ 問11
- アa=2b
- イ2a=b
- ウ2a=3b
- エ3a=2b
正解:エ
解説
この流れ図はユークリッドの互除法で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)を用いると,問題文で示された①→②→③→⑤→②→③→④→②→⑥の順で実行される。