wvogel日記

自分用の技術備忘録が多めです.

2011-07-21から1日間の記事一覧

階乗

昼間、Eulerの問題を解いていて気になったのでちょっとGHCiで調べてみた Prelude> :t foldr foldr :: (a -> b -> b) -> b -> [a] -> b Prelude> foldr (*) 1 [1..0] 1 Prelude> foldr (*) 1 [0..1] 0 Prelude> :t foldl foldl :: (a -> b -> a) -> a -> [b] …

Project Euler 53

main =getLine >>= \n-> (print $ sum $ map euler53 [1.. read n]) euler53 :: Integer -> Integer euler53 n = euler53' n n euler53' :: Integer -> Integer -> Integer euler53' n 0 = 0 euler53' n r = check53 (combinate n r) + euler53' n (r-1) kai…

Project Euler 70

最近、なるべくパターンマッチを使わないで書けないものかと模索中。 何がいい書き方なのかよくわからないけれど、関数型言語なのだからなるべく関数に重点を置いて書いてやりたい。 パターンマッチに依存する癖をつけると、Cで書くif文のようなものになって…