Quick actions

cmd+k|ctrl+k

Navigation

Languages

fibonacci

Snippet info

Language

Go

Visibility

public

Author

bibitahabibi

Created

2019-05-24T02:33:32Z

Updated

2019-05-24T03:55:09Z

package main

import (
	"fmt"
	"log"
	"math/big"
	"time"
)

func timeTrack(start time.Time, name string) {
	elapsed := time.Since(start)
	log.Printf("%s took %s", name, elapsed)
}

func fibo(seq int) *big.Int {
	defer timeTrack(time.Now(), "fibo")

	a := big.NewInt(0)
	b := big.NewInt(1)

	for i := 0; i < seq; i++ {
		a.Add(a, b)
		a, b = b, a
	}

	return a
}

func main() {
	fmt.Printf("%d\n", fibo(10000))
}
INFO