アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20190127 実施分 問6
次の関数 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).
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20190127 実施分 問6(問題文は IPA の公開問題。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:エ
覚える知識
再帰関数のトレース計算
再帰定義は終了条件から順に展開して値を求める。
この問題で必要なこと
f(4,2)=f(3,1)+f(3,2)。f(3,1)=f(2,0)+f(2,1)=1+(f(1,0)+f(1,1))=1+2=3、f(3,2)=f(2,1)+f(2,2)=2+1=3。合計6(パスカルの三角形・組合せC(4,2))。
ひっかけ
展開途中の計算ミスで3や4を選ばせる。
この知識の出題:本試験系 8 回・免除試験 11 回(公開問題での観測値)。頻出知識ランキング29位(全1,254件中)。