A
Size: a a a
A
A
A
A
A
A
A
A
A
AZ
AA
AZ
AZ
AZ
R
AA
import Streamingа вот такой со стримли -
import Control.Monad.Identity
import qualified Streaming.Prelude as S
primes :: Stream (Of Int) Identity ()
primes = S.yield 2 >> S.yield 3 >> S.filter isPrime (S.enumFromThen 5 7)
isPrime x = runIdentity . S.all_ (/= 0) . S.map (rem x) . S.takeWhile ((<= x) . (^2)) $ primes
main = print . runIdentity . S.length_ . S.takeWhile (<= 16777216) $ primes
import Streamlyгде-то 2000 сек
import Control.Monad.Identity
import qualified Streamly.Prelude as S
import Streamly.Prelude ((.:))
primes :: SerialT Identity Int
primes = 2 .: 3 .: S.filter isPrime (S.iterate (+2) 5)
isPrime x = runIdentity . S.all (/= 0) . fmap (rem x) . S.takeWhile ((<= x) . (^2)) $ primes
main = print . runIdentity . S.length . S.takeWhile (<= 16777216) $ primes
R
import Streamingа вот такой со стримли -
import Control.Monad.Identity
import qualified Streaming.Prelude as S
primes :: Stream (Of Int) Identity ()
primes = S.yield 2 >> S.yield 3 >> S.filter isPrime (S.enumFromThen 5 7)
isPrime x = runIdentity . S.all_ (/= 0) . S.map (rem x) . S.takeWhile ((<= x) . (^2)) $ primes
main = print . runIdentity . S.length_ . S.takeWhile (<= 16777216) $ primes
import Streamlyгде-то 2000 сек
import Control.Monad.Identity
import qualified Streamly.Prelude as S
import Streamly.Prelude ((.:))
primes :: SerialT Identity Int
primes = 2 .: 3 .: S.filter isPrime (S.iterate (+2) 5)
isPrime x = runIdentity . S.all (/= 0) . fmap (rem x) . S.takeWhile ((<= x) . (^2)) $ primes
main = print . runIdentity . S.length . S.takeWhile (<= 16777216) $ primes
AA
AA
R
zip`ом, а не руками функцию написать, правильно? Что `zip
` так себя будет вести я бы заподозрил