Quick actions

cmd+k|ctrl+k

Navigation

Languages

Fibonacci

Snippet info

Language

Go

Visibility

public

Author

riki.whyudi

Created

2023-02-14T08:46:46.687208Z

Updated

2023-02-14T09:50:58.782301Z

package main

import (
    "fmt"
)


func fibonacci(n int) []int {
    var result []int
    fn, fn_1, fn_2 := 1, 1, 0
    for i := 0; i < n; i++ {
        result = append(result, fn)
        fn = fn_1 + fn_2
        fn_2 = fn_1
        fn_1 = fn
    }
    return result
}


func fibonacciL(n int) []int {
    var result []int
    fn, fn_1 := 1, 0
    for i := 0; i < n; i++ {
        // Tambahkan nilai fn ke dalam slice result
        result = append(result, fn)

        // Simpan nilai fn ke dalam fn_1, kemudian update nilai fn dengan penjumlahan fn_1 dan fn
        // misalnya, jika fn = 1 dan fn_1 = 0, maka fn akan diupdate menjadi 1 + 0 = 1, dan fn_1 akan diupdate menjadi 1.
        fn_1, fn = fn, fn_1+fn
    }
    return result
}



func main() {
    fmt.Println(fibonacci(10))
    fmt.Println(fibonacciL(10))
}

// 1 2 3 4 5 6
// 1 1 2 3 5 8
INFO