免費開始練習
地特三等申論題 106年 [電力工程] 計算機概論

第 五 題

五、請詳細解釋下列 C 語言程式的執行過程,包括 foo 函式被呼叫的順序(必須列出參數 num 的數值),最後寫出程式的輸出。(20 分) #include int foo(int num); int main(void) { printf("%d\n",foo(5)); return(0); } int foo(int num) { if ((num<=0) || (num==2)) return 1; else if (num==1) return 2; else return (foo(num-2)+foo(num-3)+foo(num-1)); }
📝 此題為申論題

思路引導 VIP

面對遞迴追蹤題,首要是確立「終止條件」與「遞迴關係式」。接著依照深度優先搜尋(DFS)的概念,將遞迴呼叫過程以樹狀結構由左至右展開,逐一記錄每次呼叫的參數與回傳值,最後由下而上加總求出結果。

🤖
AI 詳解 AI 專屬家教

【解題思路】利用深度優先搜尋(DFS)概念由上而下展開遞迴樹,記錄每次呼叫的順序與參數,再由下而上回傳計算結果。 【詳解】 一、已知條件整理(遞迴規則):

▼ 還有更多解析內容

升級 VIP 解鎖