國小教甄|資訊科技資訊科技104 年第 80 題單選題
有一個遞迴函數 F,其定義如下:int F(int x) { if (x<0) return 1; else return ( F(x-1)+ F(x-2) );} 。當呼叫 F(3)時,傳回值為以下何者?
C正確答案
透過由下而上展開遞迴樹並代入基底條件 x<0 回傳 1,可計算出 F(3) 的結果為 8。
逐選項解析
A1✕ 錯誤
1 為基底條件 x<0 時的回傳值,並非 F(3) 的最終結果。
B3✕ 易錯陷阱
3 是 F(1) 的計算結果,考生若少算一層遞迴可能會誤選此選項。
C8✓ 正確
正確展開遞迴後,F(0)=2、F(1)=3、F(2)=5,最終 F(3)=F(2)+F(1)=5+3=8。
D5✕ 易錯陷阱
5 是 F(2) 的計算結果,考生若未將 F(3) 完整展開至最後一步可能會誤選。
立即註冊,看進階詳解與知識整理
這題的進階詳解與知識整理,註冊就能看 · 每天 2 題免費
精選詳解- 秒殺解題技巧與破題關鍵
- 關鍵知識表整理
- 陷阱與易錯提醒
- 同考點歷屆題庫連續刷題與錯題本