普考申論題
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)的執行流程,需透過「逐步展開(遞迴呼叫)」與「反向代入(回傳計算)」兩個階段來精確追蹤變數狀態與回傳結果。 【詳解】 階段一:逐步展開(依序判斷條件並遞迴呼叫)
▼ 還有更多解析內容