2020年07月16日

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

問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

タグ:再帰関数
posted by ファーストマクロ at 00:08| Comment(0) | H29春基本情報技術者
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: