Set puzzle: Difference between revisions

m
(Added Haskell version)
Line 1,167:
 
combinations :: Int -> [a] -> [[a]]
combinations k0 l@(y:ys)_ = [[]]
combinations _ | k == 0 [] = [[]]
combinations k | otherwise (y:ys) = map (y:) (combinations (k - 1) ys) ++ combinations k ys
| k == length l = [l]
| otherwise = map (y:) (combinations (k - 1) ys) ++ combinations k ys
 
data Color = Red | Green | Purple deriving (Show, Enum, Bounded, Ord, Eq)
Line 1,237 ⟶ 1,236:
main = do
showSolutions 9 4
showSolutions 12 6</lang>
</lang>
{{out}}
<pre style="font-size:80%">Showing hand of 9 cards with 4 solutions.
Line 1,308 ⟶ 1,306:
 
</pre>
 
=={{header|J}}==
'''Solution:'''
Anonymous user