こんにちは、いなむーです。

最近、「カンバン仕事術」を読んだ時に、工数はフィボナッチ数列で出すと良いというのを見かけました。
前職でも、開発の人がフィボナッチ数列で出すと良いという話から工数を算出してみたら、結構良いかもって言ってたのを思い出しました。

具体的な内容はWikipediaを参照すると良いですが、自然界にも日常にも多数存在する数列で、黄金比とも関係があるようです。
名刺とか、タバコ、マンガ本などもこのフィボナッチ数で構成されているようです。
[blogcard url=https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A3%E3%83%9C%E3%83%8A%E3%83%83%E3%83%81%E6%95%B0]

正直数学的なことはあまり得意な方ではなかったのですが、なんとなく、atcoderばかりじゃなくて違うことがしたかったので、Rubyでフィボナッチ数列のアルゴリズムを書いてみることにしました。
雑な感じですがこんな感じ。

[code]
F0 = 0
F1 = 1
arr = Array.new
arr = [F0, F1]

num = 0

while num < 15
arr << arr[-1] + arr[-2]
num = num + 1
end

puts arr
[/code]

結果はこちら。
[code]
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
[/code]

ちゃんとフィボナッチ数列になってますね。
単純なアルゴリズムではありますが、なんとなく好きな数列だったの取り上げてみました。

以上。

カテゴリー: ProgramRuby