平成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
- アaとbの最小公倍数
- イaとbの最大公約数
- ウaとbの小さい方に最も近い素数
- エaをbで割った商
正解:イ
解説
この流れ図はxをyで割った余りを次々に取り,yが0になるまで繰り返すユークリッドの互除法そのものであり,終了時のxにはaとbの最大公約数が格納されます。
選択肢ごとの解説
- ア誤り。最小公倍数を求めるには,最大公約数を用いてa×b÷最大公約数を計算する追加の処理が必要であり,この流れ図だけでは得られません。
- イ正しい。この処理はユークリッドの互除法であり,終了時のxにはaとbの最大公約数が格納されます。
- ウ誤り。素数を求める処理は含まれておらず,剰余計算を繰り返すだけのこの流れ図では得られません。
- エ誤り。aをbで割った商を求めるには除算の商を保持する必要がありますが,この流れ図では余りを使った処理を行っています。