問題詳情

80.有一個遞迴函數 F,其定義如下:int F(int x) { if (x<0) return 1; else return ( F(x-1)+
F(x-2) );} 。當呼叫 F(3)時,傳回值為以下何者?

(A)1
(B)3
(C)8
(D)5

參考答案

答案:C
難度:適中0.453039
統計:A(7),B(41),C(82),D(26),E(0)

用户評論

【用戶】Vanessa Wang

【年級】國三下

【評論內容】......?.....?

【用戶】Be a top spot

【年級】大一上

【評論內容】回傳值為 8  如有錯誤,敬請不吝賜教......Orz

【用戶】Una Lin

【年級】高二上

【評論內容】F(3)=F(3-1)+F(3-2)  =F(2)+F(1)----------因為X都沒有<0,故又回到F(x-1)+F(x-2)  =(F(2-1)+F(2-2))+(F(1-1)+F(1-2))  =F(1)+F(0)+F(0)+F(-1)----------因為只有-1<0,故回到1,其他又回到F(x-1)+F(x-2)  =(F(1-1)+F(1-2))+(F(0-1)+F(0-2))+(F(0-1)+F(0-2))+1  =F(0)+F(-1)+F(-1)+F(-2)+F(-1)+F(-2)+1  =F(0-1)+F(0-2)+1+1+1+1+1+1  =F(-1)+F(-2)+1+1+1+1+1+1  =1+1+1+1+1+1+1+1=8