フィボナッチ数列のプログラム

Pythonでフィボナッチ数列を求めるプログラム(関数)をPythonで書いてみました。

def fi(i):                              # fi():フィボナッチ数列 計算関数 
        if i == 1 :                     # 1番目の数値は 1
            return 1
        else:
            if i==2 :                   # 2番目の数値は 1
                return 1
            else:                       # 3番目以降の数値は、直前の2つの数値の和
                return fi(i-1)+fi(i-2)
              

関数を再帰的に利用する事により、この短いステップ数で計算結果が求められる不思議な数列です。


n 番目のフィボナッチ数を Fn で表すと、Fn は再帰的に
F0 = 0,
F1 = 1,
Fn + 2 = Fn + Fn + 1 (n ≧ 0)
で定義される。これは、2つの初期条件を持つ漸化式である。
この数列 (Fn)はフィボナッチ数列(英: Fibonacci sequence)と呼ばれ、

0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,… と続く。最初の二項は 0, 1 であり、以後どの項もその直前の2つの項の和となっている。


出典: フリー百科事典『ウィキペディア(Wikipedia)』

フィボナッチ数列はオウム貝殻のらせん模様や ひまわりの花びらの数 など、自然界に広く存在する数列といわれています。 その黄金比(1:1.618)は葛飾北斎 の「神奈川沖浪裏」やモナリザなど数多くの芸術作品に見い出すことができる不思議な数列です。 私も絵を描く時や映像を創る際はこの黄金比を意識しています。

左:『モナリザ』 レオナルド・ダ・ヴィンチ 作  
右: 『富嶽三十六景・神奈川沖浪裏』 葛飾北斎 作
PAGE TOP