McNuggets problem: Difference between revisions
Content added Content deleted
m (→{{header|JavaScript}}: Updated one primitive (defining bindlist as Array.flatMap)) |
(→{{header|JavaScript}}: (bindList -> .flatMap)) |
||
Line 570: | Line 570: | ||
// main :: IO () |
// main :: IO () |
||
const main = () => { |
const main = () => { |
||
const |
const |
||
size = n => enumFromTo(0)( |
size = n => enumFromTo(0)( |
||
Line 576: | Line 575: | ||
), |
), |
||
nuggets = new Set( |
nuggets = new Set( |
||
size(6).flatMap( |
|||
size( |
x => size(9).flatMap( |
||
y => size(20).flatMap( |
|||
size(9), |
|||
y => bindList( |
|||
size(20), |
|||
z => { |
z => { |
||
const v = sum([6 * x, 9 * y, 20 * z]); |
const v = sum([6 * x, 9 * y, 20 * z]); |
||
Line 602: | Line 598: | ||
}; |
}; |
||
⚫ | |||
⚫ | |||
// bindList (>>=) :: [a] -> (a -> [b]) -> [b] |
|||
const bindList = (xs, mf) => xs.flatMap(mf); |
|||
// dropWhile :: (a -> Bool) -> [a] -> [a] |
// dropWhile :: (a -> Bool) -> [a] -> [a] |