斐波納契數列,又稱黃金分割數列,指的是這樣一個數列:0、1、1、2、3、5、8、13、21、……在數學上,斐波納契數列以如下被以遞歸的方法定義:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)

費式數列:以遞迴實現

func fibonacci(num int) int{
    if num=0{
        return 0
    }
    if num=1{
        return 1
    }
    return fibonacci(num-1) + fibonacci(num-2)
}

費式數列:以閉包實現

func fibonacci() func() int {
    a, b := -1, 1
    return func() int {
    a, b = b, a+b
    return b
    }
}
func main() {
    f := fibonacci()
    for i := 0; i < 10; i++ {
    fmt.Println(f())
    } 
}

輸出:

0
1
1
2
3
5
8
13
21
34
最後修改日期: 7 6 月 2019

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。