Skip to content
Technology

Blog: Things you didn't know about Fibonacci

03/25/2022

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, …

This is the Fibonacci Sequence. It goes on infinitely and is made up of the series of numbers starting with 0, followed by 1, where each subsequent number is the sum of the previous two numbers.

November 23rd is Fibonacci day because when written in mm/dd format as 11/23, these four numbers form a Fibonacci sequence.

 

Fibonacci is probably not new to you

If you’re a programmer, there’s a good chance you’ve implemented a function to compute the nth number of the Fibonacci sequence at some point. It’s often used to introduce new programmers to the concept of recursion,¹ and is a common interview question.² There is also an algorithm for searching sorted arrays that leverages Fibonacci numbers, called Fibonacci search. Furthermore, Fibonacci is a popular choice for the scale used by Scrum teams for estimating work.

The context of Fibonacci goes far beyond programming though, the sequence draws origins from as early as 200BC, and can be found in many aspects of nature. There are also lots of peculiar qualities and patterns related to the numbers themselves. So in honor of Fibonacci Day, here are some interesting Fibonacci facts:

 

1. About Fibonacci the Mathematician

Leonardo of Pisa, more commonly known as Fibonacci, is the medieval Italian mathematician the Fibonacci sequence is named for, and the man most often credited for its invention. However, Leonardo of Pisa did not invent the sequence. It is unclear who actually first discovered it, but Leonardo was born around 1170AD, while references to the sequence have been found to date back to well over a thousand years before his time.

What Leonardo of Pisa did do though, is publish the most influential text on mathematics in Europe at the time, his book Liber Abaci helped spread the usage of Hindu-Arabic numerals (our now used 0, 1, 2, 3, 4, …) in place of Roman numerals (I, II, III, IV, …). The Fibonacci sequence of numbers also appeared in this book, as a solution to the following problem:

"A certain man put a pair of rabbits in a place surrounded on all sides by a wall. How many pairs of rabbits can be produced from that pair in a year if it is supposed that every month each pair [produces] a new pair which from the second month on becomes productive?"

 

The solution:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …

fibrabbits

 

2. In Honeybee genealogy

Fibonacci’s rabbit problem is a good illustration of the Fibonacci sequence, but it is not very realistic for obvious reasons. A more real life, found in nature example is the ancestral lineage of the Honeybee.

In a Honeybee colony there are three types of bees:

Queen Bee — A single Female that produces eggs Worker Bees — Females that do work and produce no eggs Drone Bees — Males that do no work

♀ Female Honeybees are produced from the Queen’s fertilized eggs, so they have two parents, one Female and one Male

♂ Male Drone Honeybees are produced from the Queen’s unfertilized eggs, so they only have one parent, a Female

When you trace back the ancestral tree of any Honeybee (Male or Female), you’ll see that the number of bees in each prior generation matches the numbers in the Fibonacci sequence.

3. In the decimal expansion of 1/89

The decimal expansion of 1/89 is approximately:

0.01123595505618…

Notice how the first six numbers after the decimal point are also the first six numbers of the Fibonacci sequence: 0, 1, 1, 2, 3, and 5

Actually, in a way, it’s not just the first six numbers, it’s all of the numbers. The catch is when the number spans multiple digits, it will overlap with the previous numbers.

0.0 0.01 0.001 0.0002 0.00003 0.000005 0.0000008 0.00000013 0.000000021 0.0000000034 0.00000000055 0.000000000089 0.0000000000144 …etc…


0.01123595505618… = 1/89

So you can think of 1/89 as the value of the infinite series, where each term is a decimal fraction with the tens place digit of the nth Fibonacci number in the nth decimal place.

4. Adjacent pairs approach The Golden Ratio

When you divide a line segment into two parts, such that the ratio between the longer part and shorter part is equal to the ratio between the entire line segment and the longer part, this ratio is The Golden Ratio, commonly denoted by the Greek letter “phi” φ.

The Golden Ratio is an irrational number, approximately 1.6180339887…

1582242476-goldenratio

 

Although the ratio itself has existed indefinitely in our universe and in nature, it’s hard to pinpoint when it was first referenced by mankind. The Great Pyramids (2589-2504 BC) of the early Egyptians have dimensions very close to The Golden Ratio, Plato (~428/427–348/347 BC) considered the ratio to be the most universally binding of all mathematical relationships and the key to unlocking the physics of the cosmos, and Leonardo Da Vinci (1452–1519AD) made extensive use of the proportion in his works of art.

It is unclear whether Fibonacci himself ever made the connection between his Fibonacci numbers and it’s relationship to The Golden Ratio, but here’s what happens when we create a sequence by dividing each Fibonacci number by the number before it:

1 / 1 = 1
2 / 1 = 2
3 / 2 = 1.5
5 / 3 = 1.667
8 / 5 = 1.6
13 / 8 = 1.625
21 / 13 = 1.615
34 / 21 = 1.619
55 / 34 = 1.618

 

We can see that each subsequent number in this sequence is approaching, or getting closer and closer to The Golden Ratio.

Interestingly enough, this also works with any Fibonacci-like sequence of numbers. We can start the sequence with any two whole numbers, as long as every next number still follows the rule of being the sum of the previous two numbers.

Starting with 123 and 8 for example, we have:

123, 8, 131, 139, 270, 409, 679, 1088, 1767, 2855, 4622, 7477, …

And here are the ratios, once again approaching The Golden Ratio:

8 / 123 = 0.065
131 / 8 = 16.375
139 / 131 = 1.061
270 / 139 = 1.942
409 / 270 = 1.514
679 / 409 = 1.660
1088 / 679 = 1.602
1767 / 1088 = 1.624
2855 / 1767 = 1.616
4622 / 2855 = 1.619
7477 / 4622 = 1.618
 

5. Also known as "Nature's Secret Code"

Not all petals on flowers or leaves on plants correspond to Fibonacci numbers, but there are enough that do to suggest that these numbers do bear some sort of significance in nature. And the most common form in which we see these numbers, is through spiral arrangements.

Leaves on branches, for example, often grow in a helix pattern, spiraling around the branch. If we start with a leaf at the bottom of the branch and follow the spiral of the other leaves up the branch, counting the number of leaves as well as the number of turns around the branch until we come to a leaf in the same position directly above the leaf we started with, we’ll have a leaf count as well as a turn count. This leaf count and turn count is what often corresponds to Fibonacci numbers in many tree species.

1584125998-leaves

Pinecones will typically have 8 spirals going one way, and 13 going the other, with smaller varieties having 5 and 8. A pineapple shell, built from hexagons, will have three kinds of spirals, and when counted, these are usually 8 to the right, 13 to the left, and 21 vertical. Also, the number of spirals in a sunflower core is very typically 55 going one way, and 89 going the other way, or in some varieties 34:55 or 89:144.

One plausible explanation for these numbers popping up all over nature, is that it probably has more to do with The Golden Ratio, and that it is because of nature’s tendency towards The Golden Ratio, that the Fibonacci numbers show up often. But why does nature tend towards The Golden Ratio? One particularly Darwinian explanation would be that over time nature has figured out that by utilizing this ratio to create angles of rotation, seeds can be placed to maximize space, leaves arranged to optimize exposure to sunlight and other nutrients for each leaf, and so on…

References

https://www-history.mcs.st-andrews.ac.uk/Publications/fibonacci.pdf

http://www2.math.ou.edu/~dmccullough/teaching/miscellanea/miner.html

https://math.temple.edu/~reich/Fib/fibo.html

¹ The recursive approach is actually the worst approach for doing this, since the cost of each calculation increases exponentially with every subsequent number, and you’ll probably end up with a stack overflow in most languages.

² I was asked to implement this function during my technical interview at Vincit 3 years ago.