Fibonacci. This sequence is composed of numbers. Each number is equal to the previous two numbers added together. Fibonacci sequences occur in nature and have many uses.
With iteration, we can quickly compute a Fibonacci number. In Ruby we use iterators, like "times," for the most elegant code. This makes programs simpler to understand.
Input and output. In the Fibonacci sequence, each number if the sum of the previous 2 numbers. We can see this clearly by reviewing the sequence itself.
0, 1, 1, 2, 3, 5, 8, 13...
Example def. Let us begin. We introduce a fibonacci() method. This receives an integer and returns another one. It receives the position of the Fibonacci sequence we want to compute.
Detail To compute a Fibonacci number, we use times to iterate over each position to the current position. We add up the numbers.
Detail We need to use a temporary value (temp) because we reassign the variable "a" but do not want to lose its value.
a = 0
b = 1# Compute Fibonacci number in the desired position.
temp = a
a = b
# Add up previous two numbers in sequence.
b = temp + b
# Write first 15 Fibonacci numbers in sequence.
15.times do |n|
result = fibonacci(n)
Results. One of my major goals is not to post incorrect code. I tested the results of this def against other Fibonacci methods, and it yields the correct results.
Memoization. This method is slow for repeated computations. We can instead memoize (or cache) Fibonacci numbers, as in a hash or array in Ruby.