修了試験 2023-01-22実施分 基本情報技術者試験 問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)。
正答4
解説
正解は4です。 この関数は、k=0またはk=nのとき1を返し、それ以外は二つの値の和を返す再帰的な定義です。 これはパスカルの三角形の作り方と同じで、f(n,k)は二項係数nCkに等しくなります。 【計算】 f(4,2)=f(3,1)+f(3,2)です。 f(3,1)=f(2,0)+f(2,1)です。 f(2,0)=1です。 f(2,1)=f(1,0)+f(1,1)=1+1=2です。 よってf(3,1)=1+2=3です。 f(3,2)=f(2,1)+f(2,2)=2+1=3です。 したがってf(4,2)=3+3=6です。 【選択肢別解説】 1:× 3はf(3,1)やf(3,2)の値です。 f(4,2)はこの二つの和なので6になります。 2:× 4はf(4,1)(=4C1)の値です。 k=2の場合は6になります。 3:× 5になる組合せはこの関数の展開からは得られません。 正しく展開すると6です。 4:○ 再帰をたどると3+3=6となり、4C2=6とも一致します。 【ポイント】 f(n,k)=f(n-1,k-1)+f(n-1,k)は、パスカルの三角形の漸化式です。 この形を見たら二項係数nCkと見抜くと、4C2=4×3÷2=6と素早く求められます。まとめて解く
修了試験 2023-01-22実施分を通しで解く(80問)→