修了試験 2013-06-23実施分 基本情報技術者試験 問52
次の流れ図において, ①→②→③→⑤→②→③→④→②→⑥ の順に実行させるために,①においてmとnに与えるべき初期値aとbの関係はどれか。 ここで,a,bはともに正の整数とする。

正答4
解説
正解は4です。 図の流れ図は、①でmにa、nにbを入れ、②でmとnが等しければ⑥でmを印字して終了します。 等しくなければ③で大小を比べ、mが大きければ④でmにm-nを入れ、nが大きければ⑤でnにn-mを入れて②に戻ります。 これは最大公約数を求めるユークリッドの互除法(引き算版)です。 【処理の流れ】 最初は、m=a、n=bです。 1回目の②でm≠n、③で「<」なので⑤に進み、nはb-aになります。 このためにはa<bである必要があります。 2回目の②でm≠n、③で「>」なので④に進み、mはa-(b-a)=2a-bになります。 このためにはa>b-aである必要があります。 3回目の②でm=nとなって⑥に進むので、2a-b=b-aが成り立ちます。 この式を整理すると3a=2bになります。 【選択肢別解説】 1:× a=2bではa>bとなるので、最初の③で「>」になり④に進みます。 ⑤から始まる問題文の順序になりません。 2:× 2a=bでは、1回目の⑤でn=b-a=aとなり、m=nになります。 2回目の②で終了してしまい、④を通りません。 3:× 2a=3bではa>bとなるので、最初の③で④に進みます。 問題文の順序とは異なります。 4:○ 3a=2bなら、例えばa=2、b=3で、n=1、次にm=1となって等しくなります。 問題文の順序どおりに実行されます。 【ポイント】 流れ図の問題では、具体的な数値(a=2、b=3など)を代入して実際にたどると確実です。 この流れ図はa、bの最大公約数を印字し、例の場合は1が印字されます。まとめて解く
修了試験 2013-06-23実施分を通しで解く(80問)→