平成23年特別試験問題 午前問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
広告
解説
再帰関数になっているので、段階的に計算していきます。
- ƒ(775, 527)=ƒ(527, 775 mod 527)
※775÷527=1 余り 248 - ƒ(527, 248)=ƒ(248, 527 mod 248)
※527÷248=2 余り 31 - ƒ(248, 31)=ƒ(31, 248 mod 31)
※248÷31=8 余り 0 - ƒ(31, 0)=(y=0なので)xを返却
広告