平成23年特別試験午前問題 問6
問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(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になります。
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になります。