package main
import "fmt"
func fibonacci(n int) int { //定义函数,参数是n int类型,输出int类型,返回值是参数的前两个之和
if n < 2 {
return n
}
return fibonacci(n-2) + fibonacci(n-1)
}
func main() {
var i int //定义变量i
for i = 0; i < 20; i++ {
fmt.Printf("%d\t", fibonacci(i))
} //i自增传递给函数
}
package main
import "fmt"
func fibonacci(n int) []int { //定义函数 参数 n int类型,输出时切片,返回值是一个人条件判断
if n < 2 {
return make([]int, 0) //返回一个切片
}
nums := make([]int, n) //nums切片,长度是n
nums[0], nums[1] = 1, 1 //前片的0。1赋值
for i := 2; i < n; i++ {
nums[i] = nums[i-1] + nums[i-2]
}
return nums //i等于前两个之和
}
func main() {
var num int
fmt.Println("要多大的斐波那契额")
fmt.Scanln(&num)
fmt.Println(fibonacci(num))
}