实现 "Fibonacci Sequence"
7/31/2022 go
# 实现 "Fibonacci Sequence"
# 1. 什么是斐波那契数列?
斐波那契数列(Fibonacci sequence),又称黄金分割 (opens new window)数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。**其中,F(0)=0不是第一项,而是第零项。**所以一般情况下,认为_1、1、2、3、5、8、13、21、34、……_
# 2. 代码实现
package main
import (
"fmt"
)
func main() {
fibList()
}
func fibList() {
var a = 0
var b = 1
var n = 0
fmt.Println("请输入 Fibonacci Sequence 的数列的长度:")
fmt.Scanf("%d", &n)
if n == 0 {
fmt.Print(nil)
} else if n == 1 {
fmt.Print("1")
} else if n > 1 {
for i := 1; i <= n; i++ {
fmt.Print(b, " ")
tmp := a
a = b
b = tmp + a
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30