Реализации алгоритмов/Решето Эратосфена: различия между версиями
Содержимое удалено Содержимое добавлено
WillNess (обсуждение | вклад) |
WillNess (обсуждение | вклад) |
||
Строка 95:
===Просеивание через массив, посегментно между квадратами простых чисел===
<source lang="haskell">
import Data.Array
ps = 2 : [n | (r:q:_, px) <- (zip . tails . (2:) . map (^2))
(n,True) <- assocs (
accumArray (\_ _ -> False) True (r+1,q-1)
[(m,()) | p <- px,
let s=(r+p)`div`p*p, m <- [s,s+p..q-1]]
</source>
|