💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
### 斐波那契数列 > **1,1,2,3,5,8,13,21,34..............这个数列从第三项开始,每一项都等于前两项的和** 使用for循环实现 ``` package main import "fmt" func fibonacci(n int) (res int) { a := 1 b := 1 for i := 2; i < n; i++ { c := b b = a + b a = c } return b } func main() { n := 9 fmt.Printf("斐波那契数列第%d项的值为%d", n, fibonacci(n)) // 斐波那契数列第9项的值为34 } ``` 使用递归方法 ``` package main import "fmt" func fibonacci(n int) (res int) { if n == 1 || n == 2 { return 1 } else { return fibonacci(n-2) + fibonacci(n-1) } } func main() { n := 4 fmt.Printf("斐波那契数列第%d项的值为%d", n, fibonacci(n)) // 斐波那契数列第4项的值为3 } ``` 使用 switch方法,其实也是递归的方法 ``` package main import "fmt" func fibonacci(n int) (res int) { switch n { case 1: return 1 case 2: return 1 default: return fibonacci(n-2) + fibonacci(n-1) } } func main() { n := 4 fmt.Printf("斐波那契数列第%d项的值为%d", n, fibonacci(n)) // 斐波那契数列第5项的值为8 } ```