Fibonacci. This is an important numeric sequence. In the Fibonacci sequence, each number is the sum of the two previous numbers. This sequence is found in many parts of our world.
With iteration, we can efficient compute this sequence. There is no reason to use recursion (except for education purposes—to learn). In this example we use a simple for-loop with ranges.
Example code. Let us begin. We introduce fibonacci(), which receives one Int and returns another. We use three temporary variables. We use an implicit local constant "_" in our for-loop.
Start Our for-loop uses a half-open range. So it loops from 0 to one minus the final number "n." This is a useful syntax form.
Info We use a temporary constant with the let keyword. This is how we swap the two numbers.
func fibonacci(n: Int) -> Int {
// Some temporary variables.
var a = 0
var b = 1
// Add up numbers to the desired iteration.
for _ in 0..<n {
let temp = a
a = b
b = temp + b
}
return a
}
// Loop over values 0 through 14 inclusive.
for i in 0..<15 {
// Call Fibonacci method.
let result = fibonacci(n: i)
print("Fibonacci \(i) = \(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
Some notes. The Fibonacci sequence is important. Even in stock trading, investors may use Fibonacci numbers to try to lose even greater amounts of money. Wikipedia has more details.
A review. With a simple iterative method, we can quickly compute Fibonacci numbers. Storing these in another Swift data structure like an array can help retrieve these values faster.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Aug 22, 2023 (edit).