Q50.
若一仿C 程式如下,若輸入 n 值為3,當程式執行結束結果為何?
電腦軟體設計共同科目 · 乙級 · Q50
難易度分析
3 / 5
此題目要求考生能夠正確追蹤遞迴函式的執行流程,並精確計算從遞迴呼叫到觸發終止條件後的累加結果,屬於需要邏輯推演的計算型題目。
正確答案:①12
① 12:此為遞迴函式,當 n=3 時,X(3)=3+X(2)=3+3+X(1)=3+3+3+X(0),而 X(0) 因 0<1 回傳 3,故總計為 3+3+3+3=12。
錯誤選項解析
- ② 3:此答案僅計算了基底條件 X(0) 的回傳值 3,忽略了遞迴過程中每次呼叫都會累加 3 的運算邏輯。
- ③ 6:此答案可能誤以為遞迴只執行兩次(3+3=6),但實際上 n=3 需經過 4 次呼叫(X(3)、X(2)、X(1)、X(0))才會終止。
- ④ 程式無法停止:此遞迴函式有明確的終止條件(n<1 時回傳),每次遞迴 n 值遞減 1,因此必定會收斂並停止,不會陷入無窮遞迴。
Learning Tip
"本題考遞迴函式的追蹤與計算。常考陷阱在於未正確計算遞迴呼叫的總次數,需注意基底條件(終止條件)與遞迴步驟的累加關係。實務上撰寫遞迴時,務必確認遞迴變數會朝向終止條件收斂,避免堆疊溢位(Stack Overflow)。"
學員答題分佈
①120%
②30%
③60%
④程式無法停止0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!