フィボナッチ数列

フィボナッチ数列とは、各要素が前の2つの要素の和となった数列です。
要素数が多くなるにつれて、隣り合う2つの要素の比率が黄金比(1.61803・・・)に近づいていきます。

>>> def fib(n):
...   if n == 1:
...     return [1]
...   elif n == 2:
...     return [1, 1]
...   a = 1
...   b = 1
...   arr = [a, b]
...   for i in range(n):
...     c = a + b
...     arr.append(c)
...     a = b
...     b = c
...   return arr
... 
>>> fib(10)

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

>>> 144/89
1.6179775280898876
最後の2要素の比率が黄金比に近いです。
フィボナッチ数列を10個しか出していないので少数以下3桁目以降が違いますが、もっと多くの要素数を出すと黄金比(1.61803・・・)に近づいていきます。


0 件のコメント:

コメントを投稿