No.40 自然数nに対して,次のように再帰的に定義される関数f(n)を考える。
f(5)の値はどれか。
f(n):if n≦1 then return 1 else return n+f(n-1)
f(5)の値はどれか。
f(n):if n≦1 then return 1 else return n+f(n-1)
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
再帰関数は、関数内で自分自身を読み出す構造になっている関数です。
設問の再帰関数 f(n) は以下のような処理を行います。
f(5)
=5+f(4) //f(5)=5+f(4)
=5+4+f(3) //f(4)=4+f(3)
=5+4+3+f(2) //f(3)=3+f(2)
=5+4+3+2+f(1) //f(2)=2+f(1)
=5+4+3+2+1 //f(1)=1
=15
したがって、f(5)の値は15です。
設問の再帰関数 f(n) は以下のような処理を行います。
- 引数nが1以下のとき
- 1を返す
- それ以外の場合
- n+f(n-1)を返す
f(5)
=5+f(4) //f(5)=5+f(4)
=5+4+f(3) //f(4)=4+f(3)
=5+4+3+f(2) //f(3)=3+f(2)
=5+4+3+2+f(1) //f(2)=2+f(1)
=5+4+3+2+1 //f(1)=1
=15
したがって、f(5)の値は15です。
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |