フィボナッチ数列

そういやFizzBuzz解けないとか、知らないってプログラマーも多いらしいですよね。

これはいかん!
由々しき事態でござる!!と思う。

(言語次第ですが)
世の中ワンライナーFizzBuzz書こうとか、○Byte以内に収めるとか、ほぼ記号だけで作るとか・・・
ちょいちょいと人のコードを見てきましたが、
解けない人が仕事してるって驚きます。
知らない人ってのも、勉強してないのかなって驚きます。


と、それはさておき、
FizzBuzzの次くらいに「フィボナッチ数列」の表示できるかってのがよく言われる気がします。

ふと思ったら、やろうとしたこと無い。
やってみよう。
まずは人のコードを見ない。


class Fibonacci
attr_accessor :total_count
attr_accessor :one
attr_accessor :two
attr_accessor :sum

def initialize(first = 1, second = 1)
@one = first
@two = second
@total_count = 20
end

def execute
fibonacci_array = []
@total_count.times do
fibonacci_array << @one
@sum = @one + @two
@one, @two = @two, @sum
end
p fibonacci_array.join(" ")
end
end

f = Fibonacci.new
f.execute

こんな感じで出来ました。
時間5分弱。

これが綺麗かどうかは別として実現は出来たので、いいとする。
Fibonacci.new(2,2)とかすれば最初2,2から足されていく。
(1,1から始まらないとフィボナッチ数列って言わないのかは無知なのであしからず・・・)


この次くらいに出されるよくある課題って何だっけ。
筆記実技的な物じゃないけど、
コンストラクタがわかるか?とか
オーバーロード、オーバーライドの違いは何か?とか
インターフェースとは何か?とか
ポリモーフィズムとは何か?とか
その手の話かな。
(やっべ、その辺曖昧な認識になってきた!再勉強だ!)


おっと、フィボナッチ数のRubyコードでもぐぐろう。
綺麗な人のサンプル探しの旅へGo!

その次くらいにTwitterBotとか、Twitterの自動フォローツールとかに挑戦してみるのも面白そう。


=====================

18:47 追記
ぐぐったら再帰させたりとか、ワンライナーとかから出て自分のしょっぱいコード具合がワロエナイ!ww
恥ずかしい!ww

未熟と思い知って、精進します(´д`;)
根本的な求め方の考え方が、実装の違いやしょっぱさの差かな・・・。

あと最初1・1じゃなくて、0・1ですかね!
これまたお恥ずかしい!

しかし一度書いて出した恥は消さずに記録としよう。
所詮こんな程度ですという証ですねorz