関数プログラミング入門・一人読書会 (4)
「関数プログラミング入門」の練習問題をやっていきます
今回は1.5.1〜1.5.2
1.5.1
フィボナッチ数を計算する関数fib
を定義する
fib :: Integer -> Integer fib n | n < 0 = error "fib: n must be >= 0" | n == 0 = 0 | n == 1 = 1 | otherwise = fib (n - 1) + fib (n - 2) main :: IO() main = putStrLn $ show $ (fib 20) == 6765
1.5.2
整数の絶対値を返す関数abs
を定義せよ
abs' :: Integer -> Integer abs' n | n < 0 = -n | otherwise = n main :: IO() main = do putStrLn $ show $ (abs' 0) == 0 putStrLn $ show $ (abs' 20) == 20 putStrLn $ show $ (abs' (-20)) == 20
- 作者: Richard Bird,山下伸夫
- 出版社/メーカー: オーム社
- 発売日: 2012/10/26
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 28回
- この商品を含むブログ (5件) を見る