民國111年 第2梯次 電腦軟體設計(JAVA)乙級 學科

第28題

下列仿C 程式片段,若n=5,程式執行後回傳(Return)值為何?

題目

下列仿C 程式片段,若n=5,程式執行後回傳(Return)值為何?

  1. (1) 3
  2. (2) 2
  3. (3) 8
  4. (4) 5

官方答案

(4) 5

解析

此題為遞迴函式觀念。常見此類題型以費氏數列測試遞迴:f(1)=1、f(2)=1,之後 f(n)=f(n-1)+f(n-2)。當 n=5,f(5)=f(4)+f(3);f(4)=f(3)+f(2)=2+1=3,f(3)=f(2)+f(1)=1+1=2,故 f(5)=3+2=5,回傳值為 5。重點在遞迴必須有終止條件(base case)且每次縮小問題規模,否則會發生堆疊溢位。選項 1(3)約為 f(4) 的值、選項 2(2)為 f(3)、選項 3(8)非本遞迴結果。依費氏遞迴邏輯回傳 5,對應選項 4。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料