フィボナッチ数列 (Haskell)

a0002_009631

ちょっと調子に乗ってHaskellでフィボナッチ数列を出力するプログラムを書いてみました。

ウェブ上で調べてみると「どうしてこれでフィボナッチ数列が出るの?」というような解もあるようですが、ごく自然に考えて出てきたロジックで書いてみました。パフォーマンスの良し悪しなどはよくわかりません(笑)

fibonacci 2 = [0, 1]

fibonacci n =
  fibo ++ [sum $ listlast2]
  where
    fibo = fibonacci $ n - 1
    listlast2 = [last fibo, fibo !! (length fibo - 2)]

main = do
  putStr resultstr
  where
    resultstr = unlines $ map show $ fibonacci 20
スポンサーリンク

フォローする

スポンサーリンク