This sequence of numbers occurs in nature, and has many uses, even in finance. In a Fibonacci sequence, each number is equal to the previous two numbers added together.
With an iterative method, we quickly generate the Fibonacci sequence. Examples sometimes use recursion, but this has no practical benefit.
We introduce the func
fibonacci()
, which receives an int
and returns another int
. Fibonacci uses three variables—these store the result and help with addition.
for
-loop to iterate until the desired position in the sequence. We continually add up numbers until we reach that position.int
value.package main import "fmt" func fibonacci(n int) int { a := 0 b := 1 // Iterate until desired position in sequence. for i := 0; i < n; i++ { // Use temporary variable to swap values. temp := a a = b b = temp + a } return a } func main() { // Display first 15 Fibonacci numbers. for n := 0; n < 15; n++ { // Compute number. result := fibonacci(n) fmt.Printf("Fibonacci %v = %v\n", n, result) } }Fibonacci 0 = 0 Fibonacci 1 = 1 Fibonacci 2 = 1 Fibonacci 3 = 2 Fibonacci 4 = 3 Fibonacci 5 = 5 Fibonacci 6 = 8 Fibonacci 7 = 13 Fibonacci 8 = 21 Fibonacci 9 = 34 Fibonacci 10 = 55 Fibonacci 11 = 89 Fibonacci 12 = 144 Fibonacci 13 = 233 Fibonacci 14 = 377
This code is not optimal. The method computes a Fibonacci number at a position in the sequence. But for repeated reuse, memoization (caching) would be better.
Fibonacci numbers are easily computed in modern programming languages. This task helps us learn about numbers and programming languages. This makes more complex tasks easier.