Life Goes On

まあまあだけど楽しんでる方です

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)]]