自然数 n に対して、次のとおり再帰的に定義される関数 f(n) を考える。f(5) の値はどれか。
f(n): if n≦1 then return 1 else return n+f(n-1)
ア 6 イ 9 ウ 15 エ 25
ウ
f(n) は
nが1以下なら1を返す。
nが1よりも大きい場合は、n+f(n-1)となり、再帰的に関数 f(n) を呼び出し、結果を返す。
計算過程は以下のとおりである。
f(5) = 5 + f(5-1) = 5 + f(4)
= 5 + (4 + f(4-1)) = 5 + (4 + f(3)) = 9 + f(3)
= 9 + (3 + f(3-1)) = 9 + (3 + f(2)) = 12 + f(2)
= 12 + (2 + f(2-1)) = 12 + (2 + f(1)) = 14 + f(1)
= 14 + 1 = 15
問10 | 目次 | 問12 |