[問題] 關於遞迴函數的問題
有一遞迴函數如下:
int g(int n)
{
if(n<3)
return n;
else
return f(n-3)+f(n-2)+f(n-1);
}
問:
1.以f(9)叫用之,將回傳值多少?
2.令函數g(n)為計算f(n)時需呼叫f(0)的次數,
試寫出g(n)的遞迴關係(recurrence relation).
3.函數g(9)的值為何?
解:
1.125
2.g(n)=g(n-1)+g(n-2)+g(n-3),g(0)=g(1)=g(2)=1.
3.105次
--------------------------------------------------
請問第二小題為什麼g(0)=g(1)=g(2)=1?
如果以解二來看,那我輸入3,g(3)=3.
但是輸入三次的話f(3)=f(2)+f(1)+f(0)
f(0)不是才出現一次?
為什麼f(1)跟f(2)也要算一次f(0)?
請高人指點
謝謝!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.69.59.119
推
04/26 13:06, , 1F
04/26 13:06, 1F
→
04/26 16:36, , 2F
04/26 16:36, 2F