この問題は、与えられた再帰的な関数f(n,k)の値を計算するものです。f(n, k)の定義は以下の通りです。
kが0またはnの場合、f(n, k)は1となります。
0 < k < n の場合、f(n, k)はf(n-1, k-1)とf(n-1, k)の和となります。
読み込み中...
次の関数f(n,k)がある。f(4,2)の値は幾らか。
f(n, k) = { 1 (k = 0), f(n-1, k-1) +f(n-1, k) (0<k<n), 1 (k = n).
結論 → 詳細 → 補足 の 3 層構成
この問題は、与えられた再帰的な関数f(n,k)の値を計算するものです。f(n, k)の定義は以下の通りです。
kが0またはnの場合、f(n, k)は1となります。
0 < k < n の場合、f(n, k)はf(n-1, k-1)とf(n-1, k)の和となります。
f(4,2)を計算するために、この定義を順番に適用します。
f(4,2) = f(3,1) + f(3,2)
次に、f(3,1)を計算します。
f(3,1) = f(2,0) + f(2,1)
ここで f(2,0) = 1 (k=0のため)。
f(2,1) = f(1,0) + f(1,1)
ここで f(1,0) = 1 (k=0のため)。
f(1,1) = 1 (k=nのため)。
したがって、f(2,1) = 1 + 1 = 2。
よって、f(3,1) = 1 + 2 = 3。
次に、f(3,2)を計算します。
f(3,2) = f(2,1) + f(2,2)
上でf(2,1) = 2と計算しました。
f(2,2) = 1 (k=nのため)。
したがって、f(3,2) = 2 + 1 = 3。
最後に、f(4,2) = f(3,1) + f(3,2) = 3 + 3 = 6となります。
アは3であり、f(3,1)やf(3,2)の値に一致しますが、f(4,2)の最終的な値ではありません。
イは4であり、計算過程で現れる可能性のある中間的な値や、他のn,kでの値と混同しやすいですが、f(4,2)の正しい値ではありません。
ウは5であり、これも計算過程で現れる可能性のある値や、異なる組み合わせによる結果と間違えやすいですが、定義通りに計算すると6になります。
解説は Google Gemini に IPA 公式の問題文・公式解答を入力して生成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ず IPA 公式資料でご確認ください。
最終更新:
検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
この問題の理解を「分野全体の力」に広げるための足がかり
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
アルゴリズムとプログラミング の他の問題
基本情報技術者 と共通カリキュラムの他区分で「アルゴリズムとプログラミング」分野を演習する
基本情報技術者 の同じ分野を年度をまたいで演習する
基本情報 科目B 木構造(二分木)のトレース練習|深さ優先と幅優先で全ノードをたどる
科目Bの頻出データ構造「木構造(二分木)」を、クラス・左右2本の参照・未定義の記法でトレース。深さ優先(行きがけ・通りがけ・帰りがけ)と幅優先(レベル順)の4つの巡回順を、小さな木で1ノードずつ手で追って攻略します。連結リスト・再帰・キューの集大成です。
基本情報 科目B 連結リスト(単方向リスト)のトレース練習|参照を1本ずつ付け替える
科目Bの頻出データ構造「連結リスト(単方向リスト)」を、クラス・メンバ変数(.)・参照・未定義の記法でトレース。先頭への追加・末尾までの走査・途中への挿入を、参照の付け替えを1本ずつ図と表で追って攻略します。配列との違い、付け替えの順序という最大の落とし穴を実演します。
基本情報 科目B スタックとキューのトレース練習|LIFOとFIFOを操作表で1つずつ追う
科目Bの頻出データ構造「スタック(後入れ先出し・LIFO)」と「キュー(先入れ先出し・FIFO)」を、プッシュ/ポップ・エンキュー/デキューの操作を表に書いて1つずつ追うトレースで攻略。同じ入力でも取り出す順番が逆になる理由、頂点・先頭・末尾ポインタの動き、つまずきを具体例で実演します。
基本情報技術者試験を取る意味はあるか|FEのメリットと「意味ない」と言われる理由を整理
基本情報技術者試験(FE)は「意味ない」と言われることがある資格です。取得メリットと「役に立たない」と言われる理由を、就職・実務・上位試験への接続の3観点で整理し、誰に向くのかを正直に解説します。