RosettaCodeData/Task/Hamming-numbers/Haskell/hamming-numbers-5.hs
2023-07-01 13:44:08 -04:00

10 lines
301 B
Haskell

hamm = foldr merge1 [] . iterate (map (5*)) .
foldr merge1 [] . iterate (map (3*))
$ iterate (2*) 1
where
merge1 (x:xs) ys = x : merge xs ys
{- 1, 2, 4, 8, 16, 32, ...
3, 6, 12, 24, 48, 96, ...
9, 18, 36, 72, 144, 288, ...
27, ... -}