实现 "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