必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 基本情報技術者
  3. 平成23年度特別問題一覧
  4. 平成23年度特別問題6-解答・解説-分析

平成23年度特別問題

問題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

関数 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

解答:イ

<解説>

  1. f(775, 527):y≠0なので、f(527, 775 mod 527) ⇒775÷527=1余り248
  2. f(527, 248):y≠0なので、f(248, 527 mod 248)⇒527÷248=2余り31
  3. f(248, 31):y≠0なので、f(31, 248 mod 31)⇒248÷31=8余り0
  4. f(31, 0):y=0なので、31を返す。