アルゴリズム(全80問中19問目)

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
関数 ƒ(x,y)が次のように定義されているとき,ƒ(775,527)の値は幾らか。ここで,x mod yはxをyで割った余りを返す。
ƒ(x,y): if y = 0 then return x else return ƒ(y,x mod y)

出典:平成29年春期 問 6

  • 0
  • 31
  • 248
  • 527
正解 問題へ
分野:テクノロジ系
中分類:アルゴリズムとプログラミング
小分類:アルゴリズム
解説
再帰関数になっているので、段階的に計算していきます。
  1. ƒ(775, 527)=ƒ(527, 775 mod 527)
    ※775÷527=1 余り 248
  2. ƒ(527, 248)=ƒ(248, 527 mod 248)
    ※527÷248=2 余り 31
  3. ƒ(248, 31)=ƒ(31, 248 mod 31)
    ※248÷31=8 余り 0
  4. ƒ(31, 0)=(y=0なので)xを返却
したがって、関数ƒ(775, 527)によって返却される数値は31になります。

この問題の出題歴


Pagetop