免費開始練習
司法三等申論題 111年 [檢察事務官電子資訊組] 程式語言

第 三 題

三、若有一個遞迴函數如下: Procedure FIB(n) if n=0, FIB=0; if n=1, FIB=1; else FIB(n-1)+FIB(n-2) end if end 試問 FIB(4)之值為多少?在計算 FIB(4)值時,需要呼叫此 FIB(n)函數多少次。(25 分)
📝 此題為申論題

思路引導 VIP

面對遞迴函式的追蹤題,應優先利用「遞迴呼叫樹(Recursive Call Tree)」將執行過程視覺化。這不僅能確保計算數值的正確性,更能精準算出函式呼叫的總次數,同時應聯想遞迴在記憶體堆疊(Stack)中的啟動紀錄(Activation Record)運作機制以增加作答深度。

🤖
AI 詳解 AI 專屬家教

【解題思路】利用畫出遞迴呼叫樹(Recursive Call Tree)的方式,由上而下展開每一次的函數呼叫,既能求出最終數值,也可精確計算呼叫總次數。同時須了解遞迴在記憶體堆疊(Stack)中的運作原理以展現學理深度。 【詳解】 一、學術定義與記憶體機制

▼ 還有更多解析內容

升級 VIP 解鎖