民國111年 第2梯次 電腦軟體設計(JAVA)乙級 學科
第28題
下列仿C 程式片段,若n=5,程式執行後回傳(Return)值為何?
題目
下列仿C 程式片段,若n=5,程式執行後回傳(Return)值為何?
- (1) 3
- (2) 2
- (3) 8
- (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 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。