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

第49題

下列仿C 程式片段為計算費氏級數(Fibonacci Number),其中三行程式尚未完成,下列何者敘述為 正確?

題目

下列仿C 程式片段為計算費氏級數(Fibonacci Number),其中三行程式尚未完成,下列何者敘述為 正確?

  1. (1) (I)的程式片段為c=a+b
  2. (2) (II)的程式片段為a=b +c
  3. (3) (I)的程式片段為a= b +c
  4. (4) (II)的程式片段為b=a+c

官方答案

(1) (I)的程式片段為c=a+b

解析

費氏級數遞推式為 F(n)=F(n-1)+F(n-2),程式中以 a、b、c 三變數滾動計算。標準做法先令 c = a + b 求出下一項(即選項 1 的 (I) 片段),再執行 a=b、b=c 向後平移,即可正確產生 0,1,1,2,3,5…。若寫成 a=b+c 或 b=a+c(選項 2、3、4),會把尚未更新的 c 錯誤納入計算,使數列迅速膨脹而失真。因此 (I) 應填入 c=a+b,選 1。

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

官方資料