在《Go語言100個實戰案例》中的 案例10:斐波那契數列生成器,幫助初學者理解遞歸與迭代的應用。
案例10:斐波那契數列生成器
?? 數學與算法 | ?? 遞歸與迭代 | ?? 初學者友好
一、?? 案例目標
實現一個斐波那契數列生成器,用戶輸入一個數字 n
,程序生成并打印出斐波那契數列的前 n
項。
二、?? 應用場景舉例
- ? 數據結構與算法基礎
- ? 計算機圖形學中的遞歸應用
- ? 動態規劃與優化問題
- ? 求解數學問題,尤其是遞歸性質的問題
三、?? 涉及知識點
知識點 | 說明 |
斐波那契數列 | 數列的基本定義,F(0)=0, F(1)=1, F(n) = F(n-1) + F(n-2) |
遞歸與迭代 | 使用遞歸和循環的不同方式生成數列 |
數學推導 | 理解遞歸在斐波那契數列中的應用 |
for 循環與 if | 控制數列的生成與終止 |
四、?? 功能需求
- 1. 用戶輸入一個整數
n
; - 2. 生成并打印出斐波那契數列的前
n
項; - 3. 提供兩種方式來實現:遞歸方式與迭代方式。
五、? 完整代碼實現
方法1:使用遞歸方式生成斐波那契數列
package mainimport "fmt"// 遞歸方式計算斐波那契數列的第n項
func fibonacciRecursive(n int) int {
if n <= 1 {
&nb