自然数nに対して、次のとおり再帰的に定義される関数f(n)を考える。f(5)の値はどれか。 f(n): if n≦1 then return 1 else return n+f(n-1)
再帰関数は終了条件まで展開して値を積み上げて求める
選択肢
- ア6
- イ9
- ウ15
- エ25
正解と解説
正解:ウ 15
この関数は引数が1以下なら1を返し、それ以外は引数と1小さい引数での結果を足す。展開すると5+4+3+2+(1のときの戻り値1)となる。したがって5+4+3+2+1で15が得られる。
選択肢ごとの解説
- ア再帰の展開を途中で打ち切った場合の値で、全項の和になっていない。
- イ加える項が不足しており、1から5までの総和に達していない。
- ウ5+4+3+2+1=15で、再帰を最後まで展開した正しい値。
- エ積や二乗など、加算以外の演算をした場合の値。
同じ分野の他の問題
- 次のプログラム中の a と b に入れる正しい答えの組合せを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。…2026年度 公開問題 科目B 問5
- 次のプログラム中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。 関数func1に与…2026年度 公開問題 科目B 問3
- 次のプログラム中の に入れる正しい答えを、解答群の中から選べ。 関数complementは、引数として渡された8ビット型…2026年度 公開問題 科目B 問2
- 次のプログラム中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。 次のプログラムは、…2026年度 公開問題 科目B 問1
- 次のプログラム中の に入れる正しい答えを、解答群の中から選べ。 関数changeは、10より大きい整数を引数nで受け取り…2025年度 公開問題 科目B 問2
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。