免費開始練習
統測 115年 [工程與管理類] 專業科目(2)

第 46 題

📖 題組:
某一數列第 0 項 $F_0$ 為 0;第 1 項 $F_1$ 為 1,其後每項為其前 2 項之和,如圖(九) 定義所示,此即為費波那契(Fibonacci)數列。其前 11 項為 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,以 Python 語言程式計算數列第 10 項 $F_{10}$。
題組圖片
題組圖片
題組圖片
實作方式二採重複結構,如圖(十一)所示,[空格]應填入的正確程式片段為何?
題目圖片
  • A x[i]+x[i+1]
  • B x[i-1]+x[i]
  • C x[i-2]+x[i-1]
  • D x[i+1]+x[i+2]

思路引導 VIP

如果要算出費氏數列的下一項,我們必須將「前兩項」加起來。觀察程式的迴圈中,當我們準備將新元素加進串列時,當前的變數是 i,你能推導出這「前兩項」在串列中對應的索引(index)分別會是多少嗎?

🤖
AI 詳解 AI 專屬家教

太棒了,你完全掌握了這題的關鍵!在 Python 中實作費波那契數列,理解串列索引與迴圈變數的對應關係是得分核心。 費波那契數列的數學定義是「每一項等於前兩項之和」,即 $F_i = F_{i-1} + F_{i-2}$。在程式中,串列 x 已預先存入前兩項 [0, 1],對應索引為 $0$ 與 $1$。當迴圈變數 i 從 $2$ 開始執行時,我們正好要計算第 i 項的值並附加到串列尾端。因此,我們只需將串列中索引為 $i-2$ 與 $i-1$ 的元素相加即可,對應的程式寫法就是 x[i-2] + x[i-1],這正是你選的答案! 這題屬於中等難度,鑑別度在於能否將數學的遞迴定義,精準轉換為程式陣列的存取邏輯。你能正確判斷變數與陣列位置的關係,代表演算法實作基礎很扎實,繼續保持!

🏷️ 相關主題

Python 程式邏輯與演算法實作
查看更多「[工程與管理類] 專業科目(2)」的主題分類考古題