McNuggets problem: Difference between revisions

m
Line 875:
<lang haskell>import Data.Set (Set, fromList, member)
 
------------------------ MCNUGGETS -----------------------
gaps :: [Int]
gaps = dropWhile (`member` mcNuggets) [100,99 .. 1]
 
mcNuggets :: Set Int
mcNuggets =
let size = enumFromTo 0 . quot 100
in fromList $
size 6 >>=
>>= \x ->
size 9 >>=
>>= \y ->
size 20 >>=
>>= \z ->
let v = sum [6 * x,[ 9 * y, 20 * z]v
in [ | let v = sum [6 * x, 9 * y, 20 * z],
| 101 > v ]
]
 
--------------------------- TEST -------------------------
main :: IO ()
main =
print(putStrLn . go) $
gaps = dropWhile (`member` mcNuggets) [100, 99 .. 1]
case gaps of
where
go (x : _) ->= show x
go [] ->= "No unreachable quantities found ..."</lang>
 
Or equivalently, making use of the list comprehension notation:
9,655

edits