31問目
http://projecteuler.net/index.php?section=problems&id=31
2ポンド(200ペンス)を1,2,5,10,20,50,100,200ペンスの硬貨で作るとき、何通りの組合せがあるか求める。
main = print $ euler031 [200, 100, 50, 20, 10, 5, 2, 1] 200 euler031 :: [Int] -> Int -> Int euler031 [1] n = 1 euler031 (x : xs) n = sum [euler031 xs (n - x * a) | a <- [0..(div n x)]]