IPA過去問ドリル

平成29年度 春期 応用情報技術者試験 午前 問6

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

次の流れ図の処理で,終了時のxに格納されているものはどれか。ここで,与えられたa,bは正の整数であり,mod(x,y)はxをyで割った余りを返す。 開始 x ← a y ← b ループ1(y=0まで繰り返す)  t ← mod(x,y)  x ← y  y ← t ループ1終わり 終了

出典:平成29年度 春期 応用情報技術者試験 午前 問6

正解:イ

解説

この流れ図はxをyで割った余りを次々に取り,yが0になるまで繰り返すユークリッドの互除法そのものであり,終了時のxにはaとbの最大公約数が格納されます。

選択肢ごとの解説

  • 誤り。最小公倍数を求めるには,最大公約数を用いてa×b÷最大公約数を計算する追加の処理が必要であり,この流れ図だけでは得られません。
  • 正しい。この処理はユークリッドの互除法であり,終了時のxにはaとbの最大公約数が格納されます。
  • 誤り。素数を求める処理は含まれておらず,剰余計算を繰り返すだけのこの流れ図では得られません。
  • 誤り。aをbで割った商を求めるには除算の商を保持する必要がありますが,この流れ図では余りを使った処理を行っています。
応用情報技術者の過去問を演習モードで解く