問題1 : 次の関数 f ( n , k ) がある。 f (4,2) の値は幾らか。 (2005 秋 15)
ア 3 イ 4 ウ 5 エ 6
問題2 : nの階乗を再帰的に計算する関数 F( n)の定義において, a
に入れるべき式はどれか。ここで,n は非負の整数である。
n >0のとき, F(n)=
(2008 秋 14)
n
=0のとき, F(n)= 1
ア n +F(n−1) イ n −1+
F(n) ウ n × F(n−1)
エ ( n −1)× F(n)
1. エ (プログラムするよりも、再帰的関数の値を求められるか、という問題が多い。自分が再帰関数になると、間違ってしまうというウッカリさんもいるかも。落ち着いて) f(4,2) = f(3,1) + f(3,2) = 3 + 3 = 6 f(3,1) = f(2,0) + f(2,1) = 1 + 2 = 3 f(3,2) = f(2,1) + f(2,2) = 2 + 1 = 3 f(2,0) = 1 f(2,1) = f(1,0) + f(1,1) = 2 f(2,2) = 1 f(1,0) = 1 f(1,1) = 1 2. ウ (階乗だから足し算ではない。だから、ウかエ。エがヒッカケ。エはN−1の場合になっていない関数なので、止まらない)