Advertisement
Guest User

Untitled

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