練習問題 1.5.1
フィボナッチ数f0,f1,… は,n ≧ 0であるようなすべてのnに対して,f0 = 0, f1 = 1, fn+2 = fn+1 + fnという規則で定義する. 整数nをとり,fnを返す関数fibの定義を与えよ.
{-# LANGUAGE NPlusKPatterns #-}
fib :: Integer -> Integer
fib 0 = 0
fib 1 = 1
fib (n+2) = fib (n+1) + fib n
N.B. スクリプトファイル先頭の
{-# LANGUAGE NPlusKPatterns #-}は
n+kパターンを使うための言語拡張プラグマである. これのかわりに
{-# LANGUAGE Haskell98 #-}でもよい.