アルゴリズム (全82問中76問目)

No.76

関数 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)
  • [この問題の出題歴]
  • 基本情報技術者 H23特別 問6
  • 基本情報技術者 H29春期 問6

分類

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

正解

解説

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が適切です。
© 2010-2018 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop