本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成29年度 春期 基本情報技術者試験問題と解説

問6

関数 f(x, y)が次のとおり定義されているとき、f(775, 527)の値は幾らか。ここで、x mod y は x を y で割った余りを返す。
 f(x, y): if y = 0 then return x else return f(y, x mod y)

ア 0  イ 31  ウ 248  エ 527


正解


解説

引数の y が0になるまで、再帰的に関数を呼び出し、y が0になったら x を返すことになる。

 f(775, 527) = f(527, 775 mod 527)
= f(527, 248) = f(248, 527 mod 248)
= f(248, 31) = f(31, 248 mod 31)
= f(31, 0) = 31

問5 目次 問7