Advertisement
Guest User

Untitled

a guest
Oct 8th, 2015
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. coins = [2, 3, 7]
  2.  
  3. change :: Integer -> [[Integer]]
  4. change n = foldl (\acc x -> acc ++ (nub $ permutations x)) [] result
  5.   where result = change' coins n
  6.  
  7. change' :: [Integer] -> Integer -> [[Integer]]
  8. change' _  0 = [[]]
  9. change' [] _ = []
  10. change' xxs@(x:xs) n
  11.  | n >= x    = map (x:) (change' xxs (n - x)) ++ change' xs n
  12.  | otherwise = change' xs n
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement