免費開始練習
普考申論題 114年 [資訊處理] 程式設計概要

第 二 題

請問以 a(7,20)呼叫下列a()函式,函式執行完後其回傳值為何?並需詳 述執行過程。(20分) int a(int n, int m) { if (n >= 10) { if (m < 16) { return n + m; } else { return a(n, m-2) + m ; } } else { return a(n+1, m) + n ; } }
📝 此題為申論題

思路引導 VIP

遇到遞迴函式(Recursive Function)題型,解題核心在於『逐步展開、反向收斂』。請先依序寫下每一次函式呼叫的參數與進入的條件分支,直到觸發遞迴終止條件(Base Case),最後再一層層將數值反推代回,即可避免計算錯誤。

🤖
AI 詳解 AI 專屬家教

【解題思路】本題考查遞迴函式(Recursive Function)的執行流程,需透過「逐步展開(遞迴呼叫)」與「反向代入(回傳計算)」兩個階段來精確追蹤變數狀態與回傳結果。 【詳解】 階段一:逐步展開(依序判斷條件並遞迴呼叫)

▼ 還有更多解析內容

升級 VIP 解鎖