平成26年秋期 午前問7について

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
4月は眠くなるさん  
(No.1)
問題の解法について、考え方というかどうしてこうなっているのかがさっぱりわかりません。
「f(3,1)=f(2,0)+f(2,1)」がどうしてこういった形になるのでしょうか。
    ”    =f(2.0)+f(1.1)にならない理由が分かりません。
教えて頂けると幸いです。
2020.04.17 17:31
guestさん 
FE ブロンズマイスター
(No.2)
n = n - 1 ;
をするわけではないので
f【3,1】=f【(3-1),(1-1)】+f【(3-1),1】
で良いのだと思いますよ
2020.04.17 20:14
てきとーさん 
(No.3)
この関数が返す値は3パターンあり、条件はnとkの値となっています

①k=0の時は  「1」を返す
②0<k<nの時は  f(n-1, k-1) + f(n-1, k)  を返す
③k=nの時は  「1」を返す

そこで条件に注目し、どのパターンを使うか考えます


この関数にf(4, 2)を与えると  ※f(n,k)なのでn=4, k=2です
①k=2なので成立しません
③k=2,n=4なので成立しません

②は0<2<4で条件が成立するので②にk=2,n=4を入れます
f(n-1, k-1)+f(n-1,k)を計算し
f(3, 1) + f(3, 2)  が返ってきます

f(3, 1)の場合は…

この関数にf(3, 1)を与えると
①k=1なので成立しません
③k=1,n=3なので成立しません

②は0<1<3で条件が成立するので②にk=1,n=3を入れます
f(n-1, k-1)+f(n-1,k)を計算し
f(2, 0) + f(2, 1)  が返ってきます

…と、こういう流れです

f(2, 0)の場合は…
①の条件k=0を満たすのでf(2, 0)は1になります
2020.04.18 06:29
4月は眠くなるさん  
(No.4)
とても分かりやすい解説ありがとうございました。
理解することができました。
2020.04.21 14:17

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop