Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mem n k = ([[d i j | i <- [0, 1 ..]] | j <- [0..((length coins) - 1)]] !! k) !! n where
- coins = [1, 2, 5, 10, 20, 50, 100, 200]
- d n k =
- let
- ks1 = filter (\x -> n - (coins !! x) == 0) [k..((length coins) - 1)]
- ks2 = filter (\x -> n - (coins !! x) > 0) [k..((length coins) - 1)]
- in
- length ks1 + sum(map (\x -> mem (n - (coins !! x)) x) ks2)
- main = print(mem 200 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement