アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20230122 実施分 問8
次の関数 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
- イ 4
- ウ 5
- エ 6
出典:基本情報技術者試験 科目A免除 修了試験 20230122 実施分 問8
答えと解説を見る
正解:エ
覚える知識
再帰関数のトレース計算
f(n,k)=f(n−1,k−1)+f(n−1,k)は二項係数nCkを再帰的に求める式である。
この問題で必要なこと
f(4,2)=f(3,1)+f(3,2)。f(3,1)=f(2,0)+f(2,1)=1+2=3、f(3,2)=f(2,1)+f(2,2)=2+1=3。合計6(二項係数4C2)。
ひっかけ
途中の展開で境界条件の値を取り違える誤りを誘う。
この知識の出題:本試験系 8 回・免除試験 11 回(公開問題での観測値)