题目
题目: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144…这个数列从第3项开始,每一项都等于前两项之和。
要求使用go语言实现。
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj。QQ:2394799692
一、解题思路
见注释部分,算法不难,主要是练习go语言的基础语法
二、代码部分
主函数部分
代码如下(示例):
package main
import "fmt"
func main() {
fmt.Println(fi(20)) //输出fi函数的返回值
}
func fi(n int) []int { //定义int型的fi函数,参数n为int
slices := make([]int, n, n) //定义slices切片,整形,容量和上限都为n
for i := 0; i < n; i++ { //i从0到n
if i <= 1 { //当i《=1的时候,返回1
slices[i] = 1
} else { //否则返回前一个数和前两个数之和
slices[i] = slices[i-1] + slices[i-2]
}
}
return slices //返回最终的值
}
三、执行结果
输出:
[1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765]