The Fibonacci sequence has many uses. In this sequence, each number is the sum of the previous two numbers.
In the 1200s Fibonacci published the sequence, showing its use in collecting interest. The sequence has been shown to have many other uses.
This is an iterative implementation of the Fibonacci sequence, where we compute numbers in a loop. We use a temporary variable to copy the previous number.
List
for better lookup performance. This eliminates the entire loop after initialization.Module Module1 Function Fibonacci(ByVal n As Integer) As Integer Dim a As Integer = 0 Dim b As Integer = 1 ' Add up numbers. For i As Integer = 0 To n - 1 Dim temp As Integer = a a = b b = temp + b Next Return a End Function Sub Main() ' Display first 10 Fibonacci numbers. For i As Integer = 0 To 10 Console.WriteLine(Fibonacci(i)) Next End Sub End Module0 1 1 2 3 5 8 13 21 34 55
We use a Function, not a Sub
, because a return value is required. If we cached the values in a list (a lookup table) this would be faster.
for
-loops and index variables.A recursive method can be used to compute Fibonacci numbers: each value is defined as the sum of the previous two. But an iterative solution is often easier to read and understand.