平成29年春期試験午前問題 問6

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
関数 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
正解 問題へ
分野:テクノロジ系
中分類:アルゴリズムとプログラミング
小分類:アルゴリズム
再帰関数になっているので、段階的に計算していきます。
f(775, 527)=f(527, 775 mod 527) //775÷527=1余り248
f(527, 248)=f(248, 527 mod 248) //527÷248=2余り31
f(248, 31)=f(31, 248 mod 31) //248÷31=8
f(31, 0)=(y=0なので)xを返却
したがって関数f(775, 527)によって返却される数値は31になります。

この問題の出題歴


Pagetop