[Haskell-cafe] How to dynamic plan in Haskell?
Thorkil Naur
naur at post11.tele.dk
Sat May 18 12:25:15 UTC 2019
Hello,
On Sat, May 18, 2019 at 12:33:00PM +0800, Magicloud Magiclouds wrote:
> ...
> 1 - 9, nine numbers. Show all the possible combinations that sum up to
> 10. Different orders are counted as the same.
>
> For example, [1, 4, 5].
With
sumIs n [] = if n == 0 then [[]] else []
sumIs n (x:xs)
= (if n < x then
[]
else
map (x:) $ sumIs (n-x) xs
)
++ sumIs n xs
we can do:
Prelude Main> sumIs 10 [1..9]
[[1,2,3,4],[1,2,7],[1,3,6],[1,4,5],[1,9],[2,3,5],[2,8],[3,7],[4,6]]
> ...
Best
Thorkil
More information about the Haskell-Cafe
mailing list