斐波那契数列n项的值。(递归和非递归算法Golang实现)
递归实现:
func f(num int) int { if num == 1 || num == 2 { return 1 } return f(num-1) + f(num-2) }
非递归实现:
func fbnqList2(num int) int { if num == 1 || num == 2 { return 1 } pre1 := 1 pre2 := 1 for i := 3; i < num; i++ { tmp := pre1 + pre2 pre1 = pre2 pre2 = tmp } return pre1 + pre2 }