民國114年 普通考試 資訊處理 計算機概要
第27題
下列Pseudo code:a=1; b=1; c=0;f(a,b,i) { if(i==0) return (a);else { c=a+b; i=i-1;f…
題目
下列Pseudo code:a=1; b=1; c=0;f(a,b,i) { if(i==0) return (a);else { c=a+b; i=i-1;f(c,a,i);}}如果參數i 的值一開始為5,執行後function f()結果為何? A. 13 B. 32 C. 8 D. 16
官方答案
- 答案:A. 13
解析
追蹤遞迴:初始 a=1、b=1,每層先算 c=a+b,再以 f(c,a,i-1) 遞迴,數列即費氏數列。i=5:c=2,呼叫 f(2,1,4);c=3,呼叫 f(3,2,3);c=5,呼叫 f(5,3,2);c=8,呼叫 f(8,5,1);c=13,呼叫 f(13,8,0)。此時 i==0,回傳 a=13,故答案為 13。選項 8 只是遞迴過程中間出現的數值,16 與 32 並不在此序列中。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。
官方資料
答案以考選部公告之測驗式試題標準答案 PDF 為準。