要素数が多くなるにつれて、隣り合う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 件のコメント:
コメントを投稿