No.93 関数 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)
ここで,x mod yはxをyで割った余りを返す。
f(x,y): if y = 0 then return x else return f(y,x mod y)
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
再帰関数になっているので、段階的に計算していきます。
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を返却
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |