Fibonacci Numbers


func TestFib(t *testing.T) {
    fmt.Println(fib3(6))
}
func fib(n int) int {
    if n == 1 {
        return 0
    }
    if n == 2 {
        return 1
    }
    pre2, pre1 := 0, 1
    for i := 3; i <= n; i++ {
        pre2, pre1 = pre1, pre1+pre2
    }
    return pre1
}
func fib2(n int) int {
    if n == 1 {
        return 0
    }
    if n == 2 {
        return 1
    }
    return fib2(n-1) + fib2(n-2)
}
func fib3(n int) int {
    a := []int{0, 1}
    for i := 2; i <= n; i++ {
        a = append(a, a[i-1]+a[i-2])
    }
    return a[n-1]
}

results matching ""

    No results matching ""