let (lowerBound, upperBound) = (2, 50_000_000)
let mask = primeMask upperBound
print $ foldMap (\i -> if mask `unsafeAt` i then Sum (1 :: Int) else Sum 0) [lowerBound .. upperBound]
Время не изменилось, 0.2 секунды, но вот эта строчка не очень, особенно Sum (1 :: Int)
А как более красивше?
ну можно Sum @Int 0)))
Обсуждают сегодня