LONGEPASS
Q52.

若一仿C 程式如下,當 n 值輸入為3 時,程式執行回傳結果為何?電腦軟體設計共同科目 乙級 第 52 題 題目 圖片

電腦軟體設計共同科目 · 乙級 · Q52

難易度分析

3 / 5

本題考查對遞迴函式邏輯與終止條件之分析能力。考生需判斷遞迴參數的變化方向是否能觸發終止條件,而非僅是進行簡單的數值計算,具有一定的邏輯推論難度。

正確答案:④程式無法停止

④ 程式無法停止:正確。當 n=3 時,遞迴呼叫 X(n+1) 使 n 不斷遞增(3→4→5→…),永遠無法滿足終止條件 n<1,造成 無窮遞迴(無限迴圈),程式無法停止。

錯誤選項解析

  • ① 12:答案 12 是錯誤的。此遞迴函式 X(n) 在 n=3 時進入 else 分支,呼叫 X(n+1) 使 n 持續遞增,永遠無法滿足終止條件 n<1,因此不會回傳任何數值。
  • ② 4:答案 4 是錯誤的。雖然遞迴中每次回傳 2 + X(n+1),但由於遞迴無法終止,程式不會回傳任何結果。
  • ③ 5:答案 5 是錯誤的。此遞迴函式沒有有效的回傳值,因為 n 持續遞增 導致永遠無法觸發 if(n<1) return 1 的基底條件。
Learning Tip

"本題考 遞迴終止條件 的判斷。關鍵在於觀察遞迴參數的變化方向:此題遞迴呼叫 X(n+1) 使 n 遞增,但終止條件為 n<1,兩者方向相反,導致永遠無法終止。常考陷阱為遞迴參數變化與終止條件不匹配的情況,需特別留意參數是遞增還是遞減,以及終止條件是否能被觸發。"

學員答題分佈

①120%
②40%
③50%
④程式無法停止0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目