Реализации алгоритмов/Решето Эратосфена: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 116:
import Data.Array.Unboxed
 
ps = 2 : [n | (px, r:q:_) <- zip (inits ps) (tails (2 : map (^2) ps)),
, (n,True) <- assocs (
accumArray (\_ _ -> False) True (r+1,q-1)
[ (m,()) | p <- px,
, let s = div (r+p)`div` p *p, m <- [s, s+p..q-1]]
:: UArray Int Bool ) , m <- [s, s+p .. q-1] ]
:: UArray Int Bool ) ]
</syntaxhighlight>