免費開始練習
高考申論題 110年 [統計] 資料處理

第 二 題

📖 題組:
有一個數列其第 n 項,an,可以由前兩項計算得到,公式為:$a_n = a_{n-1}(a_{n-1} + a_{n-2})$,其中 $a_1=1$ 且 $a_2=2$。
📝 此題為申論題,共 2 小題

小題 (二)

使用上述函數,寫一個 C 語言程式,計算該數列中滿足大於 10 且小於 10^8 條件的數共有幾項,且其和為多少。(15 分)

思路引導 VIP

這題要求寫一個完整的 C 語言程式(通常指包含 main() 的程式)。我們需要:

  1. 宣告變數來記錄總和(sum)與項數(count),並從 n=1 開始迴圈檢查。
🤖
AI 詳解
AI 專屬家教

【考點分析】 測驗考生撰寫完整 C 語言主程式(main function)的能力,包含變數宣告、迴圈控制(whilefor)、條件判斷(if),以及函數呼叫與輸出。 【理論/法規依據】

小題 (一)

請使用 C 語言完成以遞迴(recursion)方式完成函數 int newseq(int n),函數回傳值為該數列第 n 項 an。(10 分)

思路引導 VIP

這是程式設計的基本題型。題目明確要求使用「C語言」和「遞迴(recursion)」方式實作。遞迴函數設計有兩個核心要素:

  1. 終止條件(Base case):當 n=1 時回傳 1;當 n=2 時回傳 2。
🤖
AI 詳解
AI 專屬家教

【考點分析】 測驗考生對於程式語言中遞迴(Recursion)結構的實作能力,包含遞迴終止條件與遞迴關係式的轉換。 【理論/法規依據】

📝 C語言程式實作與遞迴
💡 掌握遞迴函數定義、迴圈控制結構及資料型態溢位處理

🔗 數列求和程式邏輯鏈

  1. 1 初始化與定義 — 宣告 count, sum(long long) 及遞迴函數
  2. 2 逐項求值 — 於迴圈中呼叫遞迴函數計算 a_n
  3. 3 上限檢查 — 若 a_n >= 10^8 則 break 強制終止
  4. 4 條件累加 — 若 a_n > 10 則 count++ 並累加 sum
🔄 延伸學習:延伸學習:當遞迴層數過深時,應思考改用迭代法或 Memoization 優化。
🧠 記憶技巧:遞迴定義、迴圈求值、型別長整、語法精準
⚠️ 常見陷阱:最常見錯誤是將 10^8 寫進程式碼(C語言中 ^ 是位元運算),以及忽略 sum 可能超過 int 範圍的溢位問題。
遞迴效率優化 (動態規劃) 資料型態位元長度與範圍 結構化程式設計控制流程

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

資料結構與演算法分析
查看更多「[統計] 資料處理」的主題分類考古題

📝 同份考卷的其他題目

查看 110年[統計] 資料處理 全題