基本情報技術者平成29年春期 午前問6

問6

関数 ƒ(x,y)が次のように定義されているとき,ƒ(775,527)の値は幾らか。ここで,x mod yはxをyで割った余りを返す。
ƒ(x,y): if y = 0 then return x else return ƒ(y,x mod y)
  • 0
  • 31
  • 248
  • 527
  • [出題歴]
  • 基本情報技術者 H23特別 問6
  • ソフトウェア開発技術者 H17秋期 問15

分類

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズム

正解

解説

再帰関数になっているので、段階的に計算していきます。
  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になります。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop