普考申論題
106年
[資訊處理] 程式設計概要
第 三 題
三、用 C 語言撰寫反覆結構(for-loop)及遞迴(recursive)2 個版本的函式,分別計算出費式數列(Fibonacci Sequence):int F(int n),其數學定義如下:
F0 = 0, F1 = 1, and Fn = Fn–1 + Fn–2 for n >1。(25 分)
例如: 呼叫 F(6) 計算出 8 and F(7) 計算出 13。
📝 此題為申論題
思路引導 VIP
看到費氏數列,應首先確立初始條件(F0=0, F1=1)與遞迴關係式(Fn=Fn-1+Fn-2)。遞迴版可直接將數學定義轉譯為程式碼;而反覆結構(for-loop)版則需利用變數滾動記錄前兩項的值,以迴圈逐步推導,避免遞迴造成的重複計算與效能低落。
🤖
AI 詳解
AI 專屬家教
【破題】 計算費氏數列的核心在於處理初始條件與狀態轉移。實作可分為直觀對應數學定義的「遞迴法」,以及具備較佳執行效能的「反覆結構(迴圈)法」。 【論述】
▼ 還有更多解析內容