Q175.
一個遞迴演算法如下,下述何者正確?
電腦軟體設計共同科目 · 乙級 · Q175
難易度分析
3 / 5
此題目要求對遞迴演算法進行逐步追蹤,需精確掌握參數在遞迴呼叫過程中的數值變化以及終止條件的觸發時機,涉及基礎的邏輯模擬與數值計算。
正確答案:②mysteryY(1,0)之結果為30
② mysteryY(1,0)之結果為30:正確。追蹤遞迴過程:mysteryY(1,0) → mysteryY(0,2) → 當 n=0 時回傳 2×3×5=30,符合 遞迴展開計算 原理。
錯誤選項解析
- ① mysteryY(1,0)之結果為20:遞迴終止條件判斷有誤。當 n=1 時不滿足 n==0 的終止條件,會繼續呼叫 mysteryY(0, 1×2=2),最終回傳值並非 20。
- ③ mysteryY(1,0)之結果為60:數值計算錯誤。此遞迴僅執行兩次呼叫,參數 k 依序為 0→2,最終乘積為 2×3×5=30,而非 60。
- ④ mysteryY(1,0)之結果為120:數值計算錯誤。若結果為 120 需額外遞迴層數,但 n=1 僅會產生一層遞迴呼叫至 n=0,正確結果為 30。
Learning Tip
"遞迴演算法 的核心在於掌握 終止條件 (base case) 與 遞迴步驟 (recursive step) 的參數變化。此類題型常考陷阱為誤判終止條件的觸發時機,或混淆參數在遞迴呼叫時的運算順序(如 n-1 與 k×2 的求值)。解題時建議以 trace table 逐步記錄每次呼叫的參數值,避免心算出錯。"
學員答題分佈
①mysteryY(1,0)之結果為200%
②mysteryY(1,0)之結果為300%
③mysteryY(1,0)之結果為600%
④mysteryY(1,0)之結果為1200%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!