Fibonacci Rides Again

Not so long ago I wrote about implementing GCD function in PostgreSQL using CTE.

Here I will show how Fibonacci Numbers may be obtained using the same technique.

So to have first 16 members of this sequence we should execute something like this:

WITH RECURSIVE t(a, b) AS (
    VALUES (11)
UNION ALL
    SELECT b, a + b FROM t
)
SELECT a FROM t  LIMIT 16;

Suppose we should add this code to Wiki Library Snippets. Any objections? 😉

UPD. Some others unnatural ways to calculate Fibonacci numbers may be found in Russian.

Advertisements

5 thoughts on “Fibonacci Rides Again

    1. By definition, the first two Fibonacci numbers are 0 and 1, and each subsequent number is the sum of the previous two. Some sources omit the initial 0, instead beginning the sequence with two 1s.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s